在Android中更改按钮单击的布局
Posted
技术标签:
【中文标题】在Android中更改按钮单击的布局【英文标题】:Changing Layouts On Button Click In Android 【发布时间】:2011-11-10 20:26:46 【问题描述】:因此,截至目前,我正在制作一个带有多个布局文件的 android 应用程序,这些布局文件可以在单击按钮时进行交换。目前我有一个问题。我有一个用户单击一个按钮,该按钮打开一个带有多个单选按钮的 AlertDialog,他们选择一个然后点击 Ok。这将设置一个全局CharSequence
然后一旦他们确定这是他们想要的,他们就会点击完成以进入下一个屏幕。这是完成按钮的代码。
<Button android:layout_ android:id="@+id/doneEventButton" android:text="@string/doneEventButton" android:layout_ android:onClick="nextEvent"></Button>
这是nextEvent
的代码。
public void nextEvent()
if (eventVarString == "Send A Text")
setContentView(R.layout.send_text);
else if (eventVarString == "Make A Call")
setContentView(R.layout.make_call);
else if (eventVarString == "Open An App")
setContentView(R.layout.open_app);
else if (eventVarString == "Send An Email")
setContentView(R.layout.send_email);
else if (eventVarString == "Go To A Website")
setContentView(R.layout.go_to_a_website);
这是弹出AlertDialog并设置全局变量的代码。
public void typeOfEvent(View v)
final CharSequence[] items = "Send A Text", "Make A Call", "Open An App", "Send An Email", "Go To A Website";
AlertDialog.Builder builder = new AlertDialog.Builder(SchedulerActivity.this);
builder.setTitle("Choose An Event");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int item)
eventVarString = items[item];
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int id)
TextView addEventVarText = (TextView) findViewById(R.id.eventChosen);
addEventVarText.setText(eventVarString);
Toast.makeText(SchedulerActivity.this, "Success", Toast.LENGTH_SHORT).show();
);
builder.setNegativeButton("No",
new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int id)
Toast.makeText(SchedulerActivity.this, "Fail", Toast.LENGTH_SHORT).show();
);
AlertDialog alert = builder.create();
alert.show();
这是当我单击完成按钮时从强制关闭生成的 LogCat。
Pastebin.com
【问题讨论】:
【参考方案1】:将参数View
添加到事件处理程序中。
public void nextEvent(View view)
【讨论】:
哇,如此简单却又如此遥远。不敢相信我错过了。谢谢!以上是关于在Android中更改按钮单击的布局的主要内容,如果未能解决你的问题,请参考以下文章