Andorid学习笔记(ADT)-startActivity和startActivityForResult的用法

startActivity的用法

  • startActivity同时用在Button按钮的onClickListener中

  • 在第一个activity(A)文件中:

    //写在onClickListener方法中
    
    public void onClick(View v){
    
    Intent intent = new Intent(); //使用Intent类的构造方法创建一个intent对象
    
    intent.setClass(A.this,B.class);//设置intent的意图,表示从A跳转到B
    
    startActivity(intent);//执行intent的意图,程序执行,从A跳转到B
    }

     

  • 在第二个activity(B)文件中:

     //A文件中的 startActivity(intent); 将自动运行到B文件中的onCreate方法中
    
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.B对应的layout文件);//使用R文件中的layout的id属性来启动相应的界面,至此使用startActivity完成activity的跳转完成
    }

 

startActivityForResult的用法

  • 相较于startActivity,startActivityForResult可以第二个Layout中的数据传输到第一个Layout中,并且将第二个Layout或者说activity关闭

写入A文件中的有:

startActivityForResult(Intent intent,requestCode)
  • intent 与 startActivity 中的intent的用途完全一样 requesetCode 作为一个参数(在onActivityResult中做匹配,值>=0即可)
onActivityResult(int requestCode, int resultCode, Intent data)
  • requestCode 指的是在B文件中setResult中的 resultCode 参数,一般设置为RESULT_OK
  • resultCode 指的是在A文件中的startActivityForResult方法中设置的requestCode
  • Intent data 表示在B文件中设置的数据传输,具体见Intent数据传输

写入B文件中的有:

setResult(RESULT_OK,intent);
finish();
  • 将intent中的数据传输到A文件中,一般使用bundle进行批量传参,详细传参方法见Intent数据传输
  • 一定要加上finish();否则无法完成数据的传输

转载于:https://www.cnblogs.com/baofeidyz/p/5295592.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值