0

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;
   }
sarah
  • 125
  • 3
  • 12
  • possible duplicate of [Why do we need break after case statements?](http://stackoverflow.com/questions/2710300/why-do-we-need-break-after-case-statements) – Michael Roland Dec 09 '14 at 17:34

1 Answers1

0

I now find my solution.i must add Break; at end of each Case statement. 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();

        }
    });
   break;

    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); 
        break;

    }
    return dialog;

}

sarah
  • 125
  • 3
  • 12