startActivityForResult使用示例

来源:互联网 发布:两院院士厉害吗 知乎 编辑:程序博客网 时间:2024/06/06 13:18

源Activity利用startActivityForResult启动目的Activity,并重写onActivityResult函数获取结果。
目的Activity利用setResult函数,写入返回结果。

示例代码:

//源Activity的示例public class TestActivity extends Activity {    ............    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_quiz);        .............        Intent i = DestActivity.newIntent(..........);        startActivityForResult(i, REQUEST_CODE_CHEAT);    }    ..........    //如果目的Activity不写入Result的话,默认的resultCode为Activity.RESULT_CANCELED    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        if (resultCode != RESULT_OK) {            return;        }        if (requestCode == REQUEST_CODE_CHEAT) {            if (data != null) {                //可以处理data中返回结果                ................            }        }    }}
public class DestActivity extends Activity {    ................    private void setReturnResult(boolean isAnswerShown) {        Intent data = new Intent();        //返回数据写入到Intent中        data.putExtra(...........);        //调用setResult接口        setResult(RESULT_OK, data);    }    ..............}
0 0
原创粉丝点击