2016-06-03 2 views
1

Как и выше.Как показать пользовательский диалог в действии?

Я получил заказ Dialog (который я предполагаю, должен быть продлен на другой класс ...)

public class ResetPasswordDialog extends DialogFragment { 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     View v = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_lost_password, null, false); 
     ButterKnife.bind(this, v); 

     final AlertDialog dialog = new AlertDialog.Builder(getActivity()) 
       .setTitle(R.string.change_password) 
       .setCancelable(false) 
       .setView(v) 
       .setPositiveButton(R.string.change_password, new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         // 
        } 
       }) 
       .create(); 

     dialog.setOnShowListener(new DialogInterface.OnShowListener() { 

      @Override 
      public void onShow(DialogInterface arg0) { 

       Button okButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE); 
       okButton.setOnClickListener(new View.OnClickListener() { 

        @Override 
        public void onClick(View arg0) { 
         // TODO: check if password is correct 
        } 
       }); 
      } 
     }); 
     return dialog; 
    } 
} 

ответ

1

Вы можете создать метод на OneActivityClass. например

public static void showDialog() 
{ 
// YOUR CUSTOM DIALOG CODE HERE 

} 

, то вы можете позвонить, где хотите. как

OneActivityClass.showDialog(); 

Предположим MyActivity есть,

public void showDialog(String title,String message) 
    { 
     Builder builder = new Builder(global_context); 
     builder.setCancelable(true); 
     builder.setTitle(title); 
     builder.setMessage(message); 
     builder.show(); 
    } 
//this is not custom dialog // intead of this method you can put your custom Dialog code 

затем позвонить вам MainActivity нравится,

MyActivity.showDialog("YOUR TITLE","YOUR MESSAGE"); 

Это может поможет.

+0

Но что, если я хочу, чтобы динамически отображать '' Dialog' в MainActivity.java'? Как я могу назвать этот класс, чтобы показать его? – y07k2

+0

Хорошо, это помогает. Но у меня есть еще один вопрос: могу ли я иметь класс java CustomDialog и вызвать диалог из этого класса, например. 'MainActivity.java' (и как это возможно), потому что я хотел бы иметь все пользовательские диалоги в диалоговых окнах пакета? – y07k2

+0

вы можете вызвать этот диалог там, где хотите. –

Смежные вопросы