私はDialogFragmentを作成しました。 ダイアログにEditTextがあり、それをダイアログのxmlから呼び出します。 が、エラーがあります:このコードにnullオブジェクト参照エラーで仮想メソッド 'android.text.Editable android.widget.EditText.getText()'を呼び出そうとしました
新しいヌルオブジェクト参照に「)android.text.Editable android.widget.EditText.getText(」仮想メソッドを呼び出す試み:
AlertDialog alertDialog;
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
がと
final EditText editText = (EditText) alertDialog.findViewById(R.id.editTextPasswordDeveloper);
マイコード:
public class DeveloperLoginDialogFragment extends DialogFragment {
EditText editText;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final LayoutInflater inflaterDialog = getActivity().getLayoutInflater();
AlertDialog alertDialog;
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
alertDialog = builder.create();
// final AlertDialog alertDialog = new AlertDialog.Builder(getActivity());
builder.setCancelable(false);
builder.setView(inflaterDialog.inflate(R.layout.alertdialog_developer, null));
final EditText editText = (EditText) alertDialog.findViewById(R.id.editTextPasswordDeveloper);
builder.setTitle("Entwickler-Login");
builder.setMessage("Um dich als Entwickler zu verifizieren, gib den Entwickler-Code bitte unten ein.");
builder.setPositiveButton("Verifizieren", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(editText.getText().toString().equals("7846")) {
dialog.dismiss();
Toast.makeText(getActivity().getApplicationContext(),"Erfolgreich verifiziert!", Toast.LENGTH_LONG).show();
}
}
});
builder.setNegativeButton("Abbrechen", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getActivity(), MainActivity.class);
startActivity(intent);
}
});
return builder.create();
}
}
オブジェクトに値を割り当てる前に 'findViewById'を呼び出しています。おそらく 'inflaterDialog.inflate'の値をView変数に代入し、' view.findViewById'を実行したいと考えています。 – Sourabh