b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

android result_ok_startactivityforresult 传递参数_dispatchactivi(2)

电脑杂谈  发布时间:2017-01-23 05:05:23  来源:网络整理

public static final int RESULT_CANCELED = 0;

public static final int RESULT_OK = -1;

public static final int RESULT_FIRST_USER = 1;

}

运行结果

说明:当点击“打开新的Activity”按钮,会跳转到“我是新打开的Activity”页面;

当点击“关闭”按钮,关闭当前页面,同时跳转到“我是旧的Activity”页面,且会传递result参数给前一个Activity

请求码的作用

@Override public void onCreate(Bundle savedInstanceState) {

....

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

startActivityForResult (new Intent(MainActivity.this,NewActivity.class), 1);

}

});

button2.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

startActivityForResult (new Intent(MainActivity.this,NewActivity.class), 2);

}

});

dispatchactivity_android result_ok_startactivityforresult 传递参数

@Override protected void onActivityResult(int requestCode, intresultCode, Intent data) {

switch(requestCode){

case 1:

//来自按钮1的请求,作相应业务处理

case 2:

//来自按钮2的请求,作相应业务处理

}

}

}

结果码的作用

在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity的onActivityResult(intrequestCode, int resultCode, Intentdata)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(ResultActivity和NewActivity为要打开的新Activity):

public class ResultActivity extends Activity {

.....

ResultActivity.this.setResult(1, intent);

ResultActivity.this.finish();

}

public class NewActivity extends Activity {

......

NewActivity.this.setResult(2, intent);

NewActivity.this.finish();

}

public class MainActivity extends Activity { //在该Activity会打开ResultActivity和NewActivity

@Override protected void onActivityResult(int requestCode, intresultCode, Intent data) {

switch(resultCode){

case 1:

// ResultActivity的返回数据

case 2:

// NewActivity的返回数据

}

}

}

文章出自:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-28211-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...