startActivityForResult令人讨厌的行为

时间:2014-03-05 10:38:53

标签: android android-activity start-activity

我有以下案例

当按下按钮我startActivityForResult时,它会打开另一个带有对话框主题的活动并显示一个线性布局列表,当我按下线性布局时,我在onClick Listener上完成了活动

但onActivityResult方法从未调用

所以有人可以帮忙吗?

编辑:添加代码

打开对话框活动的活动

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra(DATA_LIST_KEY, myDataList);
startActivityForResult(intent, 5000);

onClick Listener

public void onClick(View v) {

   setResult(5000);
   SecondActivity.this.finish();                        
}

编辑2

我找到了以下

1-我正在使用TabActivity为我的所有活动添加标签,现在onActivityResult触发TabActivity但不会触发其中的子活动

任何人都可以帮忙吗??

3 个答案:

答案 0 :(得分:2)

确保在点击项目后在第二个活动中调用setResult(intent)方法。

编辑1: 我认为你以错误的方式设置结果。它应该是Result_OK或Reuslt_Cancel的意图。

编辑2-示例:

Intent output = new Intent();
output.putExtra(key, val);
setResult(RESULT_OK, output)

答案 1 :(得分:0)

提示检查:

  1. 您在完成()之前调用setResult

  2. 删除android:launchMode="singleInstance"android:noHistory以查找您的活动

答案 2 :(得分:0)

我已经找出了这个问题的原因,我正在使用TabActivity并使用活动作为标签和onActivityResult被调用,但在父活动中包含所有其他活动,我通过在父活动中处理它来解决它