Android之Intent(二)-創(chuàng)新互聯(lián)

前一篇(Android之Intent(一))講解過A(它用來調(diào)起B(yǎng)界面,這里先理解為父界面) 可以向B(這里先理解為子界面), 本篇正好是一個逆反的過程 , 即B向A傳遞數(shù)據(jù)。

成都創(chuàng)新互聯(lián)公司專注于新洲網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供新洲營銷型網(wǎng)站建設(shè),新洲網(wǎng)站制作、新洲網(wǎng)頁設(shè)計、新洲網(wǎng)站官網(wǎng)定制、小程序設(shè)計服務(wù),打造新洲網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供新洲網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一 : 界面設(shè)計
① ,A(activity_main.xml)
重要控件:
1‘ (TextView)txt_infos : 用來顯示從B交界面?zhèn)鬟^來的信息 , 默認(rèn)值為XXXXXX
2’ (Button)btn_go_A : 用來跳轉(zhuǎn)至B界面
如下圖:
Android之Intent(二)
② , B(activity_b2.xml)
重要控件
1‘ (EditText)in_name : 用來使用戶輸入文本
2’ (RadioGroup)rg_sex : 單選組用來選擇性別
2-1‘ (RadioButton)r_male : 男
2-2' (RadioButton) r_famale : 女
3' (Button) btn_ok : 關(guān)閉按鈕(向A界面發(fā)送信息)
如下圖:
Android之Intent(二)

二 : 代碼設(shè)計
①,A :

package com.example.kayer.aas;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private TextView txt_infos = null;
    private Button btn_go_A = null;

    final int REQ_GET_RESULT_4_B = 100;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.init();
    }
    private void init(){
        this.txt_infos = (TextView)findViewById(R.id.txt_infos);
        this.btn_go_A = (Button)findViewById(R.id.btn_go_A);
        this.btn_go_A.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent $goto = new Intent( MainActivity.this , B2Activity.class );
                startActivityForResult( $goto , MainActivity.this.REQ_GET_RESULT_4_B);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if( requestCode == this.REQ_GET_RESULT_4_B ){
            if( resultCode == RESULT_OK ){
                String $name = data.getStringExtra("name");
                boolean $sex = data.getBooleanExtra( "sex" , false );
                this.txt_infos.setText(
                        "姓名 :" + $name + "性別 : " +
                                ($sex ? "男" : "女")
                );
            }
        }
    }
}

注意 :
1’ final int REQ_GET_RESULT_4_B = 100; 為請求碼(需要自己定義)
2‘ RESULT_OK 結(jié)果碼 , 不需要自己定義

② : B

package com.example.kayer.aas;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class B2Activity extends AppCompatActivity {
    private EditText in_name = null;
    private RadioGroup rg_sex = null;
    private RadioButton r_male = null;
    private RadioButton r_female = null;
    private Button btn_ok = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_b2);
        this.init();
    }
    private void init(){
        this.in_name = (EditText)findViewById(R.id.in_name);
        this.rg_sex = (RadioGroup)findViewById(R.id.rg_sex);
        this.r_male = (RadioButton)findViewById(R.id.r_male);
        this.r_female = (RadioButton)findViewById(R.id.r_female);
        this.btn_ok = (Button)findViewById(R.id.btn_ok);

        this.btn_ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String $name = B2Activity.this.in_name.getText().toString().trim();
                if( $name.length() > 0 ){
                    boolean male = B2Activity.this.r_male.isChecked();
                    Intent $result = new Intent();
                    $result.putExtra( "name" , $name );
                    $result.putExtra( "sex" , male );
                    B2Activity.this.setResult( RESULT_OK , $result );
                    B2Activity.this.finish();
                }else{
                    Toast.makeText(B2Activity.this, "請?zhí)顚懶彰。。?, Toast.LENGTH_SHORT).show();
                }
            }
        });

        this.rg_sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                String $sex;
                if( B2Activity.this.r_male.getId() == checkedId ){
                    $sex = "男";
                }else{
                    $sex = "女";
                }
                Toast.makeText(B2Activity.this, "您選擇的性別 :" + $sex , Toast.LENGTH_SHORT).show();
            }
        });
    }
}

三 : 結(jié)果
① , 初始界面A(activity_main.xml)
Android之Intent(二)
② , 進(jìn)入到B (activity_b2.xml), 并填寫數(shù)據(jù) 。
Android之Intent(二)
③ ,當(dāng)B點擊“確定”后回到A界面,在A界面顯示B傳過來的參數(shù)
Android之Intent(二)

ok -------------

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:Android之Intent(二)-創(chuàng)新互聯(lián)
URL標(biāo)題:http://www.muchs.cn/article8/dsoiop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、服務(wù)器托管、微信公眾號、搜索引擎優(yōu)化、App設(shè)計、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站