我在android应用上工作。我现在有一个应用程序有2 button
为“用户信息”和“收费”,当点击每个按钮必须显示自己dialog
关联。对话框的内容是之前设计的2个布局,并且设置为contentView
。我的问题是通过单击每个按钮只显示dialog_user_info。而点击btnCharge
时,实际上必须显示layout_sharzh,点击btnUserInfo
时显示layout_user_info。如何解决?当点击`btnCharge`时显示layout_sharzh,点击`btnUserInfo`时显示layout_user_info(对话框)
这里是我的代码:
btnCharge.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(dialog_charge,null);
}
});
btnUserInfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(dialog_user_info,null);
}
});
(另外我以后 public class MainActivity extends Activity
写道final int dialog_charge=1 , dialog_user_info=2;
和private Dialog dialog=null;
,对活动的顶部),这是onCreateDialog
方法:
protected Dialog onCreateDialog(int id)
{
switch(id)
{
case dialog_charge :
dialog=new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflater inflater = LayoutInflater.from(this);
View dialogview = inflater.inflate(R.layout.layout_sharzh, null);
// now pass dialogview to setView of Dialog
dialog.setContentView(dialogview);
btnSave=(Button)dialogview.findViewById(R.id.btnSave);
btnReturn=(Button)dialogview.findViewById(R.id.btnReturn);
btnReturn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
dialog.cancel();
}
});
btnSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"success",Toast.LENGTH_SHORT).show();
}
});
case dialog_user_info:
dialog=new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflater inflater1 = LayoutInflater.from(this);
dialogview = inflater1.inflate(R.layout.layout_user_info, null);
// now pass dialogview to setView of Dialog
dialog.setContentView(dialogview);
dialog.setCanceledOnTouchOutside(true);
}
return dialog;
}
的可能重复[为什么我们需要case语句后打破?](http://stackoverflow.com/questions/2710300/why-这样做,我们-需要,盈亏后的病例报告) – 2014-12-09 17:34:48