我開發了一個擴展了Dialog的類A.從另一個類訪問組件時獲取空指針
我已經使用以下代碼充氣A類:
View layout = inflater.inflate(R.layout.custom_alert, null, false);
內custom_alert
佈局文件,我加一個EditText與android:id="@+id/edit"
。
的情況是這樣的:
用戶點擊一個特定的listitem
並打開一個對話框,用戶輸入的值(編輯文本)。
我有一個活動屏幕,考慮延伸活動的B類。
從B類,當用戶在對話框中輸入值,並點擊按鈕OK,我調用類A.
,我需要檢索的值,並存儲在數據庫中。
提供了下面的代碼片段
LayoutInflater inflater = getLayoutInflater();
inflater.inflate(R.layout.custom_dialog, null);
EditText txt = (EditText) findViewById(R.id.edit);
String value = txt.getText().toString();
但是,即使在充氣後custom_dialog
,我無法獲取文本和我得到空指針異常。
我粘貼更新代碼......仍然沒有得到的EditText值,只有空
對話框建設者=新的對話框(這)
查看視圖= LayoutInflater.from(SampleScreen.this)。膨脹(R.layout.custom_alert,null); builder.setContentView(view);
EditText nameEditTxt =(EditText)view.findViewById(R.id.edit);
String value = nameEditTxt.getText()。toString();
感謝您的回覆,空指針異常消失了,但返回的數據爲空,但不正確。在EditText上輸入的數據不會被抓取。的EditText lapNameEditTxt =(EditText上)視圖 \t \t \t \t \t \t \t \t \t \t .findViewById(R.id。編輯); \t \t \t \t \t \t \t \t字符串值= lapNameEditTxt.getText()\t的ToString(); – chiranjib 2011-03-24 15:30:29
您必須第二次調用dialog.findViewById(R.id.edit)。你不能誇大一個全新的觀點,並期望檢索有關屏幕上的內容的信息。 – 2011-03-24 16:32:16
你可以詳細解釋.. dialog.findViewById(R.id.edit)從第二次調用..如果你粘貼僞/示例代碼會很好嗎? – chiranjib 2011-03-24 19:48:08