gpt4 book ai didi

android - onActivityResult 参数的 Intent 是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:48 29 4
gpt4 key购买 nike

这是我调用第二个 Activity 第一个 Activity 代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT){
startActivityForResult(new Intent("chap.two.Chapter2Activity2"),request_Code);
}
return false;
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == request_Code) {
if (resultCode == RESULT_OK)
Toast.makeText(this,data.getData().toString(),Toast.LENGTH_SHORT).show();
}
}

这是chap.two.Chapter2Activity2的代码:

Button n = (Button) findViewById(R.id.btn_OK);
n.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Intent data = new Intent();
//---get the EditText view---
EditText txt_username =(EditText) findViewById(R.id.txt_username);
//---set the data to pass back---
data.setData(Uri.parse(txt_username.getText().toString()));
setResult(RESULT_OK, data);
//---closes the activity---
finish();

}
});

在这里我看到 setResult(RESULT_OK, data) 有两个参数但是
onActivityResult(int requestCode, int resultCode, Intent data) 有三个,我想知道 onActivityResult 如何获取第三个参数的值?它是如何工作的任何人都可以告诉我吗?为什么不是这个错误?

最佳答案

当您调用 Activity.startActivityForResult() 时,您设置了 requestCode。稍后,onActivityResult() 需要此请求代码以确定哪个 Activity 正在向它发送数据。我们不需要在 setResult() 上再次提供 requestCode,因为 requestCode 已被携带。

数据intent data从发射 Intent 返回。我们通常在为调用的 Intent 设置 extras 时使用此数据。

考虑这个例子:

调用第二个 Activity

Intent i = new Intent(MainActivity.this, CheckActivity.class);
startActivityForResult(i, REQUEST_CODE_CHECK);

关于第二个 Activity ,设置 Intent 结果

getIntent().putExtra("TADA", "bla bla bla");
setResult(RESULT_OK, getIntent());
finish();

回到第一个 Activity ,ONACTIVITYRESULT()

if(requestCode == REQUEST_CODE_CHECK && resultCode == RESULT_OK){
text1.setText(data.getExtras().getString("TADA") );
}

给你。您现在应该了解什么是 Intent data 以及如何设置和获取值。

关于android - onActivityResult 参数的 Intent 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790129/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com