Как работает редактирование текста:
Сначала вы должны связать это:
entry = view.findViewById(R.id.MyEdtText);
Секунда Чтобы получить доступ к записанным данным (тексту) в редактировании, вы должны позвонить:
entry.getText().toString()
Чтобы показать письменный текст в тосте, вы должны:
if(TextUtils.isEmpty(entry.getText().toString()){
Toast.makeText(getActivity(), "No Text Entered", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getActivity(), "The Text Entered Is"+ entry.getText().toString(), Toast.LENGTH_SHORT).show();
}
Конкретное решение для вашего дела:
public class FragmentDialog extends DialogFragment {
private EditText entry;
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View DialogView = inflater.inflate(R.layout.alert_dialog,null);
entry = DialogView.findViewById(R.id.entryEditText); // replace it with the correct XML ID
builder.setView(DialogView).setTitle("Add your text").setMessage("HElllloooooooo").setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getActivity(), "canceled operation", Toast.LENGTH_SHORT).show();
}
}).setPositiveButton("ADD", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getActivity(), "the edit text value: "+entry.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
return builder.create();
}
}
А чтобы показать диалог, наберите в своей активности следующий код:
FragmentDialog dialog = new FragmentDialog();
dialog.show(getSupportFragmentManager(), "YourDialog");
Подтверждение концепции (посмотрите, как это работает):