ダイアログレイアウトでは、ユーザーの選択に応じて2番目のEditTextをプログラムで作成します。入力を返すときは、2番目のEditTextが作成されたかどうかを知る必要があります。そして私はこのチェックをする方法を理解していません。私のステートメントif(edittextTwo!= null)は、2番目のEditTextが表示され、テキストを入力した場合でも常にnullです。EditTextが作成されているかどうか調べるには?
ここが第二のEditTextを作成し、その入力を返すメソッドです:
(!edittextTwo = null)の場合
private void displayASecondEdittext(String title) {
ViewGroup layout = (ViewGroup) findViewById(R.id.layout_editdialog);
TextView titleTwo = new TextView(this);
titleTwo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
titleTwo.setText(title);
layout.addView(titleTwo);
EditText edittextTwo = new EditText(this);
edittextTwo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout.addView(edittextTwo);
}//END displayASecondInputfield
private void returnResult() {
Intent resultIntent = new Intent(this, EditDialog.class);
resultIntent.putExtra(EDITONE, edittextOne.getText().toString());
if (edittextTwo != null) {
resultIntent.putExtra(EDITTWO, edittextTwo.getText().toString());
Log.v(TAG, "edittextTwo ="+edittextTwo.getText().toString());
}
setResult(Activity.RESULT_OK, resultIntent);
finish();
}//END returnResult
ああ、はい。スコープは初心者にとっては難しいです。ありがとう! – Tombola