0

我想在通过 tabhost 启动的活动中获取相机结果。

代码启动活动:

intent = new Intent().setClass(this, ListActivity.class);
spec = tabHost.newTabSpec("list").setIndicator(getString(R.string.tab_label_list),
                      res.getDrawable(R.drawable.list_tab))
                  .setContent(intent);
    tabHost.addTab(spec);

ListActivity(扩展 BaseActivity):

takeScreenshotButton.setText(getString(R.string.upload_screenshot_button_label));
    takeScreenshotButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/tmp")));
            i.putExtra("CAMERA_PIC_REQUEST", CAMERA_PIC_REQUEST);
            i.putExtra("test", 2);
            OpenMatchActivity.this.getParent().getIntent().putExtra("test", 1);
            OpenMatchActivity.this.getParent().startActivityForResult(i, CAMERA_PIC_REQUEST);
        }
    });

我试图通过 putExtra 发送额外的信息。

但是在 ListActivity 中不包含额外的信息:

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Bundle extras = data.getExtras();
        String cam = extras.getString("CAMERA_PIC_REQUEST");
        String test = extras.getString("test");
       ...
    }

我该怎么做才能在 tabhost 活动中获取 tab host 活动的值?

4

1 回答 1

1

http://androidactivity.wordpress.com/2012/08/17/two-way-communication-between-tabactivity-and-its-child-tabs/

这就是我要搜索的

 getLocalActivityManager().getActivity("tab");

然后你可以得到所有的属性。

于 2013-06-29T17:46:20.197 回答