带有 Fragment startActivityForResult 的 SlidingTab 不起作用
SlidingTab with Fragment startActivityForResult doesn't work
提前感谢您抽出时间来解决我的问题。
我有 2 个活动:
Activity A 和 Activity B.
A调用ActivityB.ActivityB.
Activity B 是滑动标签的 activity(滑动标签模块上有 5 个片段)。
在其中一个片段上,我使用 startActivityForResult()
intent = new Intent(this.getActivity(), Research.class);
intent.putExtra("Type", temp_type);
intent.putExtra("bundle", bundleapp);
intent.putExtra("position", position);
getActivity().startActivityForResult(intent,REQUEST_CODE);
我也试过了:
intent = new Intent(this.getActivity(), Research.class);
intent.putExtra("Type", temp_type);
intent.putExtra("bundle", bundleapp);
intent.putExtra("position", position);
startActivityForResult(intent,REQUEST_CODE);
第一部分成功是因为我在研究中被重定向 Activity。
关于研究Activity我打电话给
compteur = 0;
Intent data = new Intent();
Bundle bundletest = new Bundle();
bundletest.putSerializable("Object", ObjectTest);
data.putExtras(bundletest);
Log.e("DEBUG", data.toString());
setResult(15, data);
super.finish();
我的问题就在这里。
方法 super.finish()
没有在 Activity B
上调用 ActivityResult()
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.e("DEBUG","ici");
super.onActivityResult(requestCode, resultCode, data);
String temp_path = "none";
String temp_name_file = "none";
if (resultCode != RESULT_CANCELED)
{
// Some code here
}
}
我在 Fragment 上也有一个调用 onActivityResult 的方法,但两者都没有被调用。
有人可以帮助我吗???
此致,
编辑:
问题:
我从 Activity A 开始 Activity B。在 Activity B 中我有一个 SlidingTabLayout(与 Google IO 代码 2014 相同)。在我使用的 5 个片段之一上,我调用了 startActivityForResult() ===> Activity C.
在 Activity C ==> 我调用 finish() 或 super.finish()。之后,我回到Activity A ===> 第一次误会。 (为什么Activity一个)
===> 第二,没有调用 OnActivityResult() done ....
也许我的应用程序崩溃了???但我在 logcat
上没有看到任何内容
再次感谢
调用 startActivityForResult
将在启动它的 activity 中触发 onActivityResult
,因此在这种情况下 Activity A 会收到对 onActivityResult
的调用。此外,当使用 startActivityForResult
时,您应该在调用 finish
之前通过调用 setResult
来设置结果代码,以帮助您区分不同的结果状态(即成功与失败)。
我忘记了什么。调用后 finish
方法,我回来了 activity A 就像什么都没发生一样。
提前感谢您抽出时间来解决我的问题。
我有 2 个活动:
Activity A 和 Activity B.
A调用ActivityB.ActivityB.
Activity B 是滑动标签的 activity(滑动标签模块上有 5 个片段)。
在其中一个片段上,我使用 startActivityForResult()
intent = new Intent(this.getActivity(), Research.class);
intent.putExtra("Type", temp_type);
intent.putExtra("bundle", bundleapp);
intent.putExtra("position", position);
getActivity().startActivityForResult(intent,REQUEST_CODE);
我也试过了:
intent = new Intent(this.getActivity(), Research.class);
intent.putExtra("Type", temp_type);
intent.putExtra("bundle", bundleapp);
intent.putExtra("position", position);
startActivityForResult(intent,REQUEST_CODE);
第一部分成功是因为我在研究中被重定向 Activity。
关于研究Activity我打电话给
compteur = 0;
Intent data = new Intent();
Bundle bundletest = new Bundle();
bundletest.putSerializable("Object", ObjectTest);
data.putExtras(bundletest);
Log.e("DEBUG", data.toString());
setResult(15, data);
super.finish();
我的问题就在这里。
方法 super.finish()
没有在 Activity B
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.e("DEBUG","ici");
super.onActivityResult(requestCode, resultCode, data);
String temp_path = "none";
String temp_name_file = "none";
if (resultCode != RESULT_CANCELED)
{
// Some code here
}
}
我在 Fragment 上也有一个调用 onActivityResult 的方法,但两者都没有被调用。
有人可以帮助我吗???
此致,
编辑:
问题:
我从 Activity A 开始 Activity B。在 Activity B 中我有一个 SlidingTabLayout(与 Google IO 代码 2014 相同)。在我使用的 5 个片段之一上,我调用了 startActivityForResult() ===> Activity C.
在 Activity C ==> 我调用 finish() 或 super.finish()。之后,我回到Activity A ===> 第一次误会。 (为什么Activity一个) ===> 第二,没有调用 OnActivityResult() done ....
也许我的应用程序崩溃了???但我在 logcat
上没有看到任何内容再次感谢
调用 startActivityForResult
将在启动它的 activity 中触发 onActivityResult
,因此在这种情况下 Activity A 会收到对 onActivityResult
的调用。此外,当使用 startActivityForResult
时,您应该在调用 finish
之前通过调用 setResult
来设置结果代码,以帮助您区分不同的结果状态(即成功与失败)。
我忘记了什么。调用后 finish
方法,我回来了 activity A 就像什么都没发生一样。