我有一個自定義對話框,當我嘗試獲取EditText的值時,它返回null。該行返回nullEditText et = (EditText)findViewById(R.id.username_edit);這是完整的代碼。protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_TEXT_ENTRY: LayoutInflater factory = LayoutInflater.from(this); final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null); return new AlertDialog.Builder(TicTacToe.this) //.setIconAttribute(android.R.attr.alertDialogIcon) .setTitle(getTitleText()) .setView(textEntryView) .setPositiveButton("JOIN GAME", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { try { EditText et = (EditText)findViewById(R.id.username_edit); playerName = et.getText().toString(); } catch (Exception e) { } } }) .create(); } return null;}
3 回答

慕碼人2483693
TA貢獻1860條經(jīng)驗 獲得超9個贊
嘗試這個:
EditText et = (EditText)textEntryView.findViewById(R.id.username_edit);
您必須告訴在哪個視圖中找到ID。否則,它將嘗試通過xml布局setContentView(通常在中聲明onCreate)夸大視圖中的ID。
添加回答
舉報
0/150
提交
取消