我正在尝试添加以下功能:如果用户单击mainActivity中的按钮,它会启动另一个Activity,并且必须在屏幕上弹出一个包含两种可能性的菜单。当用户选择这两种可能性时,我的布局中将加载与网络不同的XML。
我不知道是否可以访问onCreate方法中的上下文菜单,或者是否有其他方法可以执行此操作?
答案 0 :(得分:0)
弹出一个AlertDialog,其中包含您要显示的项目列表。选择项目时,触发startActivity(意图)。
示例代码: http://developer.android.com/guide/topics/ui/dialogs.html#AddingAList
答案 1 :(得分:0)
为什么在加载新活动之前不显示包含这两个选项的对话框?然后,根据用户的选择显示相应的xml?
我会这样做:
onCreate
方法中使用的意图。对于您的按钮:
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent act2 = null;
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
// layout 1
act2 = new Intent("package.example.act2_layout1");
startActivity(act2);
break;
case DialogInterface.BUTTON_NEGATIVE:
act2 = new Intent("package.example.act2_layout2");
startActivity(act2);
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.this);
builder.setTitle("Make your choice")
.setPositiveButton("Layout 1", listener)
.setNegativeButton("Layout 2", listener);
}
});
然后在onCreate
方法中:
Intent starter = getIntent();
if (starter.getAction().equals("package.example.act2_layout1")) {
// use layout 1
} else if (starter.getAction().equals("package.example.act2_layout2")) {
// use layout 2
}