我有一個對話框bux,它在選擇textView時打開。該對話框包含一個editText。 我想要做的是能夠在editText中鍵入一個sting,當按下'Done'按鈕時,它將把editText中的字符串存儲到一個變量中,通過原始的textView可以查看它。 根據日食我的源代碼是正確的。但是當我在我的android手機上運行它時,它崩潰了。我知道這是OnClick Listner的原因。Android Java:Diaglog setText&getText問題
下面是我的烴源代碼:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
TextView showPopUpButton;//NEW
EditText getInput;//NEW
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showPopUpButton = (TextView) findViewById(R.id.buttonShowPopUp);//NEW
getInput = (EditText) findViewById(R.id.editText1);//NEW
showPopUpButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showPopUp3(); }
});
}
private void showPopUp3() {
AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
helpBuilder.setTitle("Enter your string");
LayoutInflater inflater = getLayoutInflater();
View checkboxLayout = inflater.inflate(R.layout.popuplayout, null);
helpBuilder.setView(checkboxLayout);
helpBuilder.setPositiveButton("Done", new DialogInterface.OnClickListener() {
TextView showPopUpButton;//NEW
EditText getInput;//NEW
public void onClick(DialogInterface dialog, int which) {
// THIS IS SUPPOSED TO STORE THE VALUE OF THE EDIT-TEXT AND OUTPUT IT IN THE TEXTVIEW
showPopUpButton = (TextView) findViewById(R.id.buttonShowPopUp);//NEW
showPopUpButton.setText(getInput.getText());//NEW**
}
});
AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
}
}
謝謝你們,我知道這種解決方案可能很容易,我只是失去了一些東西小。 謝謝
onClickListener還在setText和getText過程完成後關閉diaglog。 – user3247335
是'showPopUpButton'真的是一個'TextView'還是它是一個'Button'? – ElefantPhace
u不初始化本地變量EditText getInput ..其中你做getInput =(EditText)findViewById(R.id.edittextid); ??如果它已經在全球你不需要再申報。 – Neha