i work on android apps . I now have an app that have 2 button
for "user info" and "charging", when click on each button must be show itself dialog
associated. content of dialogs are 2 layout designed before and set for contentView
. my issue is at showing only dialog_user_info by clicking on every button. while actually must be show layout_sharzh when click btnCharge
, and show layout_user_info when click btnUserInfo
.How can i resolve it?
here is my codes:
(Also I wrote final int dialog_charge=1 , dialog_user_info=2;
and private Dialog dialog=null;
, on top of activity after
public class MainActivity extends Activity
)
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);
}
});
And this is onCreateDialog
method:
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;
}