validar vacios texto studio personalizado permitir espacios ejemplo edittext dialogo custom cuadro con campos blanco java android android-edittext

java - vacios - validar campos de texto en android studio



EditText setText que no se muestra en un Fragmento de diálogo (2)

Prueba esto:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); View customView = inflater.inflate(R.layout.custom_dialog, null); alertDialogBuilder.setView(customView); alertDialogBuilder.setTitle("Edit to-do list"); final EditText mEditText = (EditText) customView.findViewById(R.id.EditDesc); String desc = getArguments().getString("desc"); mEditText.setText(desc); alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // on success EditTodoFragment.EditTodoFragmentListener listener = (EditTodoFragment.EditTodoFragmentListener)getActivity(); listener.onFinishEditDialog(mEditText.getText().toString()); } }); alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); return alertDialogBuilder.create();

Soy un poco nuevo en el desarrollo de aplicaciones para Android, y no sé cómo depurar esto. Así que estoy tratando de hacer EditText.setText en un DialogFragment. Imprime la cadena derecha en el registro, pero sigue mostrando la cadena anterior basada en el archivo .xml ("Introduzca el elemento aquí"). ¿Hay alguna forma de actualizarlo?

public class MyAlertDialogFragment extends DialogFragment{ public MyAlertDialogFragment() {} public static MyAlertDialogFragment newInstance(String desc) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putString("desc", desc); frag.setArguments(args); return frag; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); alertDialogBuilder.setView(R.layout.custom_dialog); alertDialogBuilder.setTitle("Edit to-do list"); final View layout = View.inflate(MainActivity.getAppContext(), R.layout.custom_dialog, null); final EditText mEditText = (EditText) layout.findViewById(R.id.EditDesc); String desc = getArguments().getString("desc"); mEditText.setText(desc); System.out.println("EditText is " + mEditText.getText().toString()); alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // on success EditTodoFragment.EditTodoFragmentListener listener = (EditTodoFragment.EditTodoFragmentListener)getActivity(); listener.onFinishEditDialog(mEditText.getText().toString()); } }); alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); return alertDialogBuilder.create(); }

}

El archivo de registro

07-06 21:04:20.738 4115-4115/com.example.light.todolist I/System.out: EditText is Doing grocery

El archivo xml es:

<TextView android:layout_width="238dp" android:layout_height="wrap_content" android:text="Edit Item Below:" android:id="@+id/EditTitle" android:layout_weight="0.04" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/EditDesc" android:text="Enter item here."> <requestFocus /> </EditText>


No utiliza la vista de diseño para el cuadro de diálogo para que no pueda ver el texto en EditText. Por favor cambia como aquí:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); alertDialogBuilder.setTitle("Edit to-do list"); final View layout = View.inflate(MainActivity.getAppContext(), R.layout.custom_dialog, null); alertDialogBuilder.setView(layout );