Android:onActivityResult() 未调用

发布于 2024-10-29 13:46:32 字数 574 浏览 4 评论 0原文

我面临与 onActivityResult() 相关的问题。

我使用 TabActivity 作为主要 Activity。每个选项卡都是activityGroup。

ActivityGroup 的子活动 A(Activity) 使用 startActivityForResult( , ) 将意图发送到 B(Activity)

但是当B Activity完成时,A Activity中没有调用onActivityResult()。

A Activity

Intent intent = new Intent(A.this, B.class);
startActivityForResult(intent, 1);

B Activity出了

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();

什么问题?

因为TabActivity、ActivityGroup还是Flag??

请指教..

I'm facing with a problem related onActivityResult().

I use TabActivity as a main Activity. Each of the tabs is activityGroup.

A ActivityGroup's sub-activity A(Activity) sends the intent to B(Activity) using

startActivityForResult( , ) .

But when B Activity finish, onActivityResult() is not called in A.

A Activity

Intent intent = new Intent(A.this, B.class);
startActivityForResult(intent, 1);

B Activity

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();

What is wrong?

Because of TabActivity, ActivityGroup or Flag??

Please advice..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

悲喜皆因你 2024-11-05 13:46:32

TabActivity 中 ActivityGroup 的问题。我想 finishFromChild 将在父活动(在 TabHost 中)中调用。检查一下。

实际上... TabActivity 中真的需要 ActivityGroup 吗?!避免它,例如在父 TabActivity 的每个选项卡中使用简单的 TabHost 视图,这样 TabActivity 将切换视图,而不是活动。

The problem with ActivityGroup inside TabActivity. I suppose finishFromChild will be invoked in parent activity (in TabHost). Check it.

Actually ... Do u really need ActivityGroup inside TabActivity?! Avoid it, e.g. use simple TabHost view in every tab of your parent TabActivity, this way TabActivity will switch views, not activities.

溺ぐ爱和你が 2024-11-05 13:46:32

尝试使用包含当前活动的 tabgroup 活动 的上下文调用 startActivityForResult,然后在 tabgroup 活动中侦​​听。

使用它来获取tabGroupActivity

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

然后从中调用startActivityForResult

parentActivity.startActivityForResult(...);

最后,在 tabGroupActivity 中放置一个 onActivityResult 监听器:

protected void onActivityResult(int requestCode, int resultCode,Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
    }

Try to call the startActivityForResult using the context of the tabgroup activity containing your current activity and then listen in the tabgroup activity.

Use this to get the tabGroupActivity:

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

And then call startActivityForResult from it:

parentActivity.startActivityForResult(...);

Finally , put an onActivityResult listener in the tabGroupActivity:

protected void onActivityResult(int requestCode, int resultCode,Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
    }
许仙没带伞 2024-11-05 13:46:32

使用下面的代码我希望它能起作用。

 Intent intent = new Intent(getParent(), B.class);
    startActivityForResult(intent, 1); 

Use below code I hope it will work.

 Intent intent = new Intent(getParent(), B.class);
    startActivityForResult(intent, 1); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文