简体   繁体   English

Android:onActivityResult() 没有调用

[英]Android: onActivityResult() is not calling

I'm facing with a problem related onActivityResult().我面临与 onActivityResult() 相关的问题。

I use TabActivity as a main Activity.我使用 TabActivity 作为主要 Activity。 Each of the tabs is activityGroup.每个选项卡都是活动组。

A ActivityGroup's sub-activity A(Activity) sends the intent to B(Activity) using ActivityGroup 的子活动 A(Activity) 使用

startActivityForResult( , ) . startActivityForResult( , ) 。

But when B Activity finish, onActivityResult() is not called in A.但是当 B Activity 完成时,在 A 中不会调用 onActivityResult()。

A Activity一个活动

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

B Activity B活动

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

What is wrong?怎么了?

Because of TabActivity, ActivityGroup or Flag??因为 TabActivity、ActivityGroup 或 Flag??

Please advice..请指教..

Try to call the startActivityForResult using the context of the tabgroup activity containing your current activity and then listen in the tabgroup activity.尝试使用包含当前活动的tabgroup activity的上下文调用startActivityForResult ,然后在tabgroup activity.

Use this to get the tabGroupActivity :使用它来获取tabGroupActivity

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

And then call startActivityForResult from it:然后从中调用startActivityForResult

parentActivity.startActivityForResult(...);

Finally , put an onActivityResult listener in the tabGroupActivity:最后,在 tabGroupActivity 中放置一个onActivityResult监听器:

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

The problem with ActivityGroup inside TabActivity. TabActivity 中的 ActivityGroup 的问题。 I suppose finishFromChild will be invoked in parent activity (in TabHost).我想finishFromChild 将在父活动中被调用(在TabHost 中)。 Check it.核实。

Actually ... Do u really need ActivityGroup inside TabActivity?!实际上......你真的需要 TabActivity 里面的 ActivityGroup 吗?! Avoid it, eg use simple TabHost view in every tab of your parent TabActivity, this way TabActivity will switch views, not activities.避免它,例如在父 TabActivity 的每个选项卡中使用简单的 TabHost 视图,这样 TabActivity 将切换视图,而不是活动。

Use below code I hope it will work.使用下面的代码,我希望它会工作。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM