我的类A调用StartActivityForresult:Class A是TabActivity的一个选项卡中的ActivityGroup

Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");

classb是一个常见的活动,不是在tabactivity中,它是单独的
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();

但在a级活动中,结果是不接收任何内容,不执行。如果我将a级从tabactivity中删除,我的应用程序就可以了。我读过
How to setResult() for a TabActivity which contains activity for tabs
How to return a result (startActivityForResult) from a TabHost Activity?
但不能解决我的问题,能不能有人给点建议,代码比较好,谢谢
编辑:
在A级中,我添加:
public class UpdateImageBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {

            Log.i("temp","34353");


        }
    }



    /* (non-Javadoc)
     * @see android.app.Activity#onPause()
     */
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        unregisterReceiver(updateImageBroadcastReceiver);

    }

    /* (non-Javadoc)
     * @see android.app.Activity#onResume()
     */
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();

        updateImageFilter = new IntentFilter("ACTION_CHANGE_TAB");
        updateImageBroadcastReceiver = new UpdateImageBroadcastReceiver();
        registerReceiver(updateImageBroadcastReceiver, updateImageFilter);


    }

乙班:
   Intent intent = new Intent("ACTION_CHANGE_TAB");
                        intent.putExtra("path", f.getAbsolutePath());
                        sendBroadcast(intent);

                    //  FileListSelectActivity.this.setResult(RESULT_OK, intent);
                        finish();

但我不能打印:log.i(“temp”,“34353”);

最佳答案

尝试使用广播接收器。您可以重写活动B中的onstop(),广播活动B中的事件并侦听活动A。

关于android - 如何从 Activity 返回结果(startActivityForResult)到TabHost Activity ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7256098/

10-12 04:12