Android SetResult(int,intent)不';行不通
我开始第二项活动:Android SetResult(int,intent)不';行不通,android,android-activity,Android,Android Activity,我开始第二项活动: Intent intent = new Intent(getApplicationContext(),MessageBox.class); startActivityForResult(intent,5); 第二,我有: Intent intent2 = new Intent(); setResult(RESULT_OK,in
Intent intent = new Intent(getApplicationContext(),MessageBox.class);
startActivityForResult(intent,5);
第二,我有:
Intent intent2 = new Intent();
setResult(RESULT_OK,intent2);
finish();
当谈到我的第一项活动时:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode==5)
{
if(resultCode==RESULT_OK)
{
// Toast...
}
}
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
}
问题是我没有得到烤面包,所以它不起作用。当我在做setResult(RESULT_OK)时,它的工作是正确的,所以问题在于setResult(int,intent),但我真的不知道发生了什么
如果在我的程序的第二个和第三个活动中发生的所有事情都有帮助,但这并不重要。尝试在开始时调用super.onActivityResult(请求代码、结果代码、数据)。正如我在评论中提到的,我的工作代码如下。 活动1-点击按钮
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),NextActivity.class);
startActivityForResult(intent,5);
}
});
活动1-活动结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==5) {
if(resultCode==RESULT_OK) {
Toast.makeText(getApplicationContext(), "working", Toast.LENGTH_SHORT).show();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
活动2——反压
@Override
public void onBackPressed() {
Intent intent2 = new Intent();
setResult(RESULT_OK, intent2);
finish();
super.onBackPressed();
}
希望这能对您有所帮助。您能像在程序中一样给出toast行吗?toast.makeText(getApplicationContext(),“working”,toast.LENGTH\u SHORT).show();尝试在
intent2
中添加一些额外内容,如intent2.putExtra(“测试”,1)
我正在添加额外的ofc,但没有向他们显示尝试将日志
调用或Toast
放在活动结果的开头,以检查它是否被调用。