Intent学习笔记

本文详细介绍了Android中Intent的使用方法,包括如何利用Intent实现页面间的跳转及数据传递。通过具体的代码实例,展示了如何发送Intent启动新的Activity以及如何在不同页面间传递和接收数据。
Intent
Intent(意图)可以理解为信使
由Intent来协助完成Android各个组件之间的通讯
Intent实现页面跳转
1. startActivity(intent) 直接从当前页面跳转到另一页面
private Button button;
private  Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button=(Button)findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            /*
            第一个对象:上下文对象,this;
                        1__Intent intent =new Intent(MainActivity.this,Main22Activity.class);
                        2__初始化全局变量
                        private Contex m;
                        m=this;
                        Intent intent =new Intent(this,Main22Activity.class);
            第二个对象:目标文件;
             */
            Intent intent =new Intent(MainActivity.this,Main22Activity.class);
            startActivity(intent);
        }
    });
2. startActivityForResult(intent,requestCode);这种方式有返回值。它还需要关联如下两种方法:onActivityResult(int requestCode,int resultCode,Intent data) 通过此方法接收回传的数据。setResult(resultCode,data); 在B页面通过此方法将数据回传给A页面。如图,在A页面启动B页面,B页面的数据可以回传给A页面。
 
private Button button;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button=(Button)findViewById(R.id.button);
    textView=(TextView)findViewById(R.id.textView);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this,Main2Activity.class);
            startActivityForResult(intent,1);
        }
    });
}
@Override
/*
接受返回数据的方法
requestCode:请求的标识;
resultCode:第二个页面返回的标识;
data:第二个页面返回的数据;
 */
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==1 &resultCode==2){
        String  content = data.getStringExtra("data");
        textView.setText(content);
    }
第二个页面回传数据放在TextView
private Button button2;
private String content="nihao";
button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent data=new Intent();
        data.putExtra("data",content);
        setResult(2,data);
        finish();
    }
});

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值