2016-12-15 5 views
1

учась использовать диалоговые окна в Android приложения я создал это диалоговое окно:Создание другого диалога после диалога Android

dialogBuilder = new AlertDialog.Builder(this); 
    dialogBuilder.setTitle("Title"); 

    dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 

      Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show(); 

     } 
    }); 

    dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show(); 
     } 
    }); 


    AlertDialog dialog = dialogBuilder.create(); 
    dialog.show(); 

Как создать еще один диалог сразу же после того, как «Next» нажата? Я прочитал сообщение this, но я не понимаю, какой код там ответил.

ответ

1

создать еще один диалог внутри OnClick положительной кнопки некоторые вещи, как этот

dialogBuilder = new AlertDialog.Builder(this); 
dialogBuilder.setTitle("Title"); 

dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 

     Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show(); 

    ShowDialog(); 


    } 
}); 

dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show(); 
    } 
}); 


AlertDialog dialog = dialogBuilder.create(); 
dialog.show(); 

и ShowDialog метод

public void ShowDialog(){ 

dialogBuilder = new AlertDialog.Builder(this); 
dialogBuilder.setTitle("Title"); 

dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 

     Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show(); 

    } 
}); 

dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show(); 
    } 
}); 


AlertDialog dialog = dialogBuilder.create(); 
dialog.show(); 

} 
+0

или вы можете написать полный ShowDialog внутри positivebutton OnClick – Redman

1

Это то, что я использовал для моего приложения

Button more = (Button) findViewById(R.id.more); 

more.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View view) { 

     //Intent myIntent = new Intent(view.getContext(), agones.class); 

     //startActivityForResult(myIntent, 0); 


     AlertDialog alertDialog = new 

AlertDialog.Builder(<YourActivityName>this).create(); //Read Update 

     alertDialog.setTitle("hi"); 

     alertDialog.setMessage("this is my app"); 


     alertDialog.setButton("Continue..", new 

DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) { 

       // here you can add functions 
      } 
     }); 

     alertDialog.show(); //<-- See This! 
    } 

}); 
0

вызовов это метод, который вы хотите. Не нужно писать код снова и снова. Просто вызовите метод showConfirmAlertDialog (активность);

public static void showConfirmAlertDialog(Activity mActivity) { 

      AlertDialog.Builder adb = new AlertDialog.Builder(mActivity).setTitle("title").setMessage("message"); 
      adb.setPositiveButton("Next", new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { // Confirmed 
        dialog.cancel(); 
       } 
      }); 
      adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { // Rejected 
        dialog.cancel(); 
       } 
      }); 
      adb.setCancelable(false); 
      adb.show(); 
     } 
1

Это ваше решение, вы можете создать другое диалоговое окно после нажатия кнопки «Далее».

MainActivity.java

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
         context); 
       alertDialogBuilder.setTitle("First Dialog"); 
       alertDialogBuilder 
         .setMessage("Click yes to Open Second Dialog!") 
         .setCancelable(false) 
         .setPositiveButton("Next", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           //MainActivity.this.finish(); 

           AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
             context); 
           alertDialogBuilder.setTitle("Your Title"); 
           alertDialogBuilder 
             .setMessage("Click yes to exit!") 
             .setCancelable(false) 
             .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
              public void onClick(DialogInterface dialog, int id) { 
               //MainActivity.this.finish(); 
              } 
             }) 
             .setNegativeButton("No", new DialogInterface.OnClickListener() { 
              public void onClick(DialogInterface dialog, int id) { 
               // if this button is clicked, just close 
               // the dialog box and do nothing 
               dialog.cancel(); 
              } 
             }); 

           // create alert dialog 
           AlertDialog alertDialog = alertDialogBuilder.create(); 

           // show it 
           alertDialog.show(); 

          } 
         }) 
         .setNegativeButton("No", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           // if this button is clicked, just close 
           // the dialog box and do nothing 
           dialog.cancel(); 
          } 
         }); 

       // create alert dialog 
       AlertDialog alertDialog = alertDialogBuilder.create(); 

       // show it 
       alertDialog.show(); 
      }