Почему бы вам не отобразить диалоговое окно с двумя вариантами перед загрузкой новой активности?И затем, согласно выбору пользователя, отобразить соответствующий xml?
Я бы сделал это следующим образом:
- У вас работает mainActivity
- Когда пользователь нажимает на вашНа этой кнопке отображается AlertDialog с «положительной» кнопкой, представляющей первый xml-файл, и «отрицательной» кнопкой, представляющей ваш второй xml.
- При нажатии на любую из кнопок вы отображаете вторую активность, используя разныеIntent-действия и проверка, какое намерение было использовано в методе
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
}