2015-07-24 2 views
0

Я создал один класс исключений, внутри объявленного диалога оповещений с кнопкой ОК. Теперь я использую это диалоговое окно в другом классе, на этот раз, когда я нажму кнопку ОК, он будет перенаправлен на другое действие.Как выполнить событие onClick в alertDialog?

public class ExceptionClass { 
public static void showAlertDialog(Context context, String title, String message, Boolean status) { 
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();   
    alertDialog.setTitle(title);   
    alertDialog.setMessage(message);   
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
     } 
    });  
    alertDialog.show(); 
}} 

Теперь я использовал этот диалог в другом классе, как этот

ExceptionClass.showAlertDialog(Activity2.class, "Title","error message" , true); 

Теперь, когда я нажмите кнопку OK, то он будет перенаправлять на Activity1.

+0

Просто запустите 'Activity1' из метода' onClick() '. –

+0

На самом деле это диалоговое окно предупреждения, которое я использовал во многих действиях, поэтому независимо от того, что я использовал в тот момент, когда я нажал кнопку ОК, он будет перенаправлен на целевую активность. Просто для понимания я ставлю два класса. –

ответ

1

Создайте намерение с деятельностью которой вы хотите запустить и изменить метод showAlertDialog(), добавив еще один параметр с созданным умыслом.

showAlertDialog(Context context, String title, String message, Boolean status, Intent activityToBeLaunch) 

И на кнопке «ОК» нажмите кнопку «Пуск» с принятым намерением.

 public void onClick(DialogInterface dialog, int which) { 
      context.startActivity(activityToBeLaunch); 
     } 
1

Не вызывайте свой AlertDialog из другого класса. Создайте еще один внутри этого класса, если вам нужно. Затем каждый из ваших AlertDialogs может выполнять различные действия.

alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 

    //start your activity here 
    Intent i = ne Intent(ExceptionClass.this,Activity1.class); 
    startActivity(i); 
    } 
});  
2

Вы можете просто передать ссылку на активность в качестве параметра для метода showAlertDialog. И просто запустите это действие.

0

Внутри onClick от OK вам нужно создать умысел и начать деятельность.

напишите ниже один код строки. Она будет работать

context.startActivity(new Intent(context, Activity1.class)); 
-1

Метод назван showAlertDialog является static. Вы хотите вызвать метод в любой деятельности? Вы можете сделать метод обратного вызова внутри onclick.