2016-04-08 2 views
1

Привет, ребята, я пытаюсь создать AlertDialog с пользовательским текстовым вводом внутри него , поскольку в моем приложении мне нужно как минимум 3 из тех, которые, как я думал, будет отличной идеей создать один метод AlertDialog, который вернет пользователю значение напечатал в нем в конкретный метод и этим сэкономить на написание много кодаСоздание «Глобального» AlertDialog

ЭРВО образец моего кода

public void alrtDialog(String setTitle, String setPositiveBtn) 
{ 
    AlertDialog.Builder myDialog = new AlertDialog.Builder(context);//<--create alert dialog builder 
    myDialog.setTitle(setTitle); 
    final EditText myText = new EditText(context); 
    myText.setInputType(InputType.TYPE_CLASS_TEXT); 
    myDialog.setView(myText); 
    Log.e("blalba", "texoutt:" + myText.getText().toString()); 
    myDialog.setPositiveButton(setPositiveBtn, new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      setMsg(myText.getText().toString());//<--set 
      Log.e("blalba", "teinxt:" + myText.getText().toString()); 
     } 
    }); 
    myDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.cancel(); 
     } 
    }); 
    myDialog.show(); 
    return getMsg(); 
} 
+0

создать DialogFragemnt затем просто использовать, что везде – tyczj

+0

Примечание ответа, если он вас номер. Чтобы отметить только галочку ... – GensaGames

ответ

2

Создать DialogFragment

public class MyDialogFragment extends DialogFragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_sample_dialog, container, false); 
     getDialog().setTitle("Simple Dialog"); 
     return rootView; 
    } 
} 

Показать в любом контексте

FragmentManager fm = getFragmentManager(); 
MyDialogFragment dialogFragment = new MyDialogFragment(); 
dialogFragment.show(fm, "Sample Fragment"); 
Смежные вопросы