對,我知道有很多類似的問題。我研究過關於這個的stackoverflow以及在互聯網上,但仍然難倒。從AlertDialog Builder中的EditText獲取值
此代碼位於一個片段中。
...
private Context context = getActivity();
public void Dialog(){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout
View mView = inflater.inflate(R.layout.dialog, null);
alertDialogBuilder.setView(mView);
EditText a = (EditText) mView.findViewById(R.id.a);
EditText b = (EditText) mView.findViewById(R.id.b);
EditText c = (EditText) mView.findViewById(R.id.c);
//a.setText("abc");
//b.setText("xyz");
//c.setText("123");
strA = a.getText().toString();
strB = b.getText().toString();
final String strC = c.getText().toString();
}
這應該是越來越膨脹的佈局的視圖,並用它來訪問視圖中的元素的典型方法,但它不工作不管我試過了,我只是不能讓STRA,STRB和strC值使用getText()。toString()。
//a.setText("abc");
//b.setText("xyz");
//c.setText("123");
但是,如果我取消註釋上述3行,值會發送。我可以在strA,strB,strC中接收它們。這是爲什麼?我一點都不明白。
任何幫助非常感謝,謝謝!
沒有任何操作從EditTexts獲取字符串。您應該在對話框中定義一個按鈕。比你可以通過button.onclicklistener得到的字符串... –
是的謝謝你的建議。我完全忽略了這一點。事實上,我在這個代碼下面有一個onClickListener,我正在檢查值。業餘/累了的錯誤。謝謝! – lyk13