【问题标题】:how to call startactivityforresult from one activity to another within a activity group inside a tabwidget如何在选项卡小部件内的活动组中从一个活动调用 startactivityforresult 到另一个活动
【发布时间】:2011-06-21 11:05:33
【问题描述】:

我有一个选项卡活动,在一个选项卡内我有活动组。最初显示活动 A,从那里我想使用 startactivityforresult 调用活动 B。如何做到这一点?

在我的活动 A 中,我正在这样做......

        Intent i = new Intent(Entry.this, Child.class);

        // Create the view using FirstGroup's LocalActivityManager  
        View view = GroupActivity.group.getLocalActivityManager()  
        .startActivity("child", i  
        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))  
        .getDecorView();  

        // Again, replace the view  
        GroupActivity.group.replaceView(view);

虽然这会将我带到活动 B,但我无法从那里返回活动 A。

【问题讨论】:

    标签: android android-activity activitygroup


    【解决方案1】:

    将 startActivity 更改为:

    .startActivityForResult(i, .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));

    然后将此方法添加到ActivityA:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // See which child activity is calling us back.
            switch (resultCode) {
               case RESULT_OK:
               {
                   //processing code goes here
               }
               default:
                    break;
            }
    } 
    

    然后在 Activity B 上调用 finish() 时,您应该点击 'OnActivityResult' 方法。您还可以通过调用将意图发送回主要活动:

    setResult(Activity.Result_OK, intent);
    

    关于活动 B。

    【讨论】:

    • LocalActivityManager 没有 startActivityForResult 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多