java - vacios - validar espacios en blanco 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 );




android-edittext