Android之Intent(二)-创新互联

前一篇(Android之Intent(一))讲解过A(它用来调起B界面,这里先理解为父界面) 可以向B(这里先理解为子界面), 本篇正好是一个逆反的过程 , 即B向A传递数据。

成都创新互联公司专注于新洲网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供新洲营销型网站建设,新洲网站制作、新洲网页设计、新洲网站官网定制、小程序设计服务,打造新洲网络公司原创品牌,更为您提供新洲网站排名全网营销落地服务。

一 : 界面设计
① ,A(activity_main.xml)
重要控件:
1‘ (TextView)txt_infos : 用来显示从B交界面传过来的信息 , 默认值为XXXXXX
2’ (Button)btn_go_A : 用来跳转至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 : 关闭按钮(向A界面发送信息)
如下图:
Android之Intent(二)

二 : 代码设计
①,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 结果码 , 不需要自己定义

② : 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, "请填写姓名!!!", 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();
            }
        });
    }
}

三 : 结果
① , 初始界面A(activity_main.xml)
Android之Intent(二)
② , 进入到B (activity_b2.xml), 并填写数据 。
Android之Intent(二)
③ ,当B点击“确定”后回到A界面,在A界面显示B传过来的参数
Android之Intent(二)

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Android之Intent(二)-创新互联
网页URL:http://bzwzjz.com/article/dsoiop.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 温江网站设计 成都网站建设公司 成都网站建设推广 成都网站建设 成都网站制作 响应式网站设计 成都网站制作 网站设计 高端定制网站设计 成都企业网站建设公司 网站设计制作报价 app网站建设 成都企业网站设计 成都网站制作公司 成都网站建设 成都网站建设 成都网站制作 手机网站制作 网站建设 H5网站制作 成都网站建设公司 成都网站建设公司