码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-03-19 17:51:32      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

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();否则无法完成数据的传输

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

标签:

原文地址:http://www.cnblogs.com/baofei/p/5295592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!