多くの調査を行い、見つけたすべてのライフサイクルメソッドを(私が思うに)試した後、私は本当に行き詰まっています:
私が欲しいもの:基本的に、レイアウトファイル(「fragment_profile_header_username_dialog」)を提示する必要があるこのDialogFragment(「ProfileUsernameDialogFragment」)があります。このレイアウト ファイルには、いくつかの TextView といくつかの EditText があります。これらの EditTexts のテキストを自分のプログラムで取得した値に設定したいので、事前に設定することはできません。
私が持っているもの:
public class ProfileUsernameDialogFragment extends DialogFragment {
...
@Override
public void onActivityCreated(Bundle savedInstanceState) {
EditText usernameText = (EditText) this.getView().findViewById(R.id.username_field);
usernameText.setText("TEST");
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Log.d(AppController.LOG_STRING, this.getClass().toString() + " - onCreateDialog - START");
AlertDialog.Builder builder = new AlertDialog.Builder(this.getActivity());
View view = this.getActivity().getLayoutInflater().inflate(R.layout.fragment_profile_header_username_dialog, null);
builder.setView(view);
builder.setPositiveButton(SAVE_SETTINGS, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
// Tried this too:
// EditText usernameText = (EditText)
// ProfileUsernameDialogFragment.this.getView().findViewById(R.id.forename_label);
// usernameText.setText("TEST");
}
});
builder.setNegativeButton(ABORT_ACTION, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
builder.setTitle(CHANGE_NAME_SETTINGS);
Dialog dialog = builder.create();
return dialog;
}
}
私が得るもの:私が試したfindViewById(R.id.username_field)のどの位置に関係なく、NullPointerExceptionです。(onCreate やその他の方法も試してみましたが、コードの場所以外に別の問題があるのではないかと考え始めましたが、実際には手がかりがありません) DialogFragments の NullPointers に関する少なくとも 6 つの同様の質問に従おうとしたので、高度なヘルプが必要だと思います^^
私はアンドロイドに完全に慣れていないので、よろしくお願いしますが、コンベンションのヒントなどは大歓迎です! 事前にthx :)