我有两个活动,我想从第一个的上下文菜单中调用第二个。这是它应该做的。
活动 A 上下文菜单单击应启动活动 B。
在Activity B的onCreate中,根据传入的extras,自动显示一个AlertBuilder对话框,然后要么拍照,要么选择图片。
发生的情况是,当单击 Activity A 的上下文菜单项时,它会启动 Activity B 并显示 AlertDialog。如果我选择拍照选项,MediaStore.ACTION_IMAGE_CAPTURE Intent 将启动,一旦拍照,Activity B 将再次重新启动并显示 AlertDialog。
活动 A - 上下文菜单
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
final ItemClass selItem = (ItemClass)this.getListView().getItemAtPosition(info.position);
Intent intent;
SyncData sync;
switch (item.getItemId()) {
case R.id.start_activity_b:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.putExtra("data1", selItem.itemID);
intent.putExtra("data2", "AUTO");
Measurements.this.startActivityForResult(intent, REQUESTCODE_ACTIVITYB);
return true;
default:
return super.onContextItemSelected(item);
}
}
活动 B - onCreate 代码
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.listview_main);
Bundle extras = getIntent().getExtras();
if ((extras != null) && (extras.containsKey("data1"))) {
this.itemID = extras.getString("data1");
}
if ((extras != null) && (extra.containsKey("data2"))) {
this.createAlertDialog();
}
}