Jestem trochę nowy w rozwoju aplikacji na Androida i nie wiem, jak to debugować. Więc próbuję zrobić EditText.setText na DialogFragment. Wydaje prawidłowy ciąg w dzienniku, ale wciąż pokazuje stary ciąg oparty na pliku .xml ("Tutaj wprowadź element"). Czy istnieje sposób na aktualizację?EditText setText nie wyświetla się w fragmencie okna dialogowego
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();
}
}
Plik dziennika
07-06 21:04:20.738 4115-4115/com.example.light.todolist I/System.out: EditText is Doing grocery
pliku XML jest:
<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>
Masz rację! Muszę użyć układu do setView, w przeciwnym razie go nie rozpozna? – user3315093