1

我试图在 a 中输入一个数字EditText,然后在单击按钮后将其输出到 message/AlertDialog 中。到目前为止,我已经编写了我认为应该可以输出它的代码,但由于某种原因,它没有。目前,我从消息框中收到的唯一输出是我指定的文本:“已保存”。显示的变量没有值。
希望有人能够看到我做错了什么并找到解决方案。谢谢

下面的代码:

Button saveBtn1 = (Button) findViewById(R.id.btnSave1);

    saveBtn1.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
           EditText inputTxt1 = (EditText) findViewById(R.id.yourPhoneNum);
           String phoneNum1 = inputTxt1.getText().toString();
          savenum1(phoneNum1);
       }
   });

public void savenum1(String phoneNum1) {

    AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);

    dlgAlert.setMessage("Saved" + phoneNum1);
    //dlgAlert.setPositiveButton("OK", null);
    dlgAlert.setCancelable(true);
    dlgAlert.create().show();

    dlgAlert.setPositiveButton("Ok",
        new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              //dismiss the dialog  
            }
        });  
 dlgAlert.create().show();  
}
4

1 回答 1

1

创建私有字段EditText inputTxt1;

Button saveBtn1 = (Button) findViewById(R.id.btnSave1);
获取 EditText id 之前:inputTxt1 = (EditText) findViewById(R.id.yourPhoneNum);

saveBtn1.setOnClickListener
获取 phoneNum1 时:String phoneNum1 = inputTxt1.getText().toString();
使用 phoneNum1 调用 savenum1:savenum1(phoneNum1);

从 savenum1 中删除:
EditText inputTxt1 = (EditText) findViewById(R.id.yourPhoneNum);
String phoneNum1 = (String) inputTxt1.getText().toString();

修正后的代码:

public class SettingsScreen extends Activity {

private EditText inputTxt1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.screen_settings);
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    EditText inputTxt1 = (EditText) findViewById(R.id.yourPhoneNum);    
    Button saveBtn1 = (Button) findViewById(R.id.btnSave1);

    saveBtn1.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
          String phoneNum1 = inputTxt1.getText().toString();
          savenum1(phoneNum1);
       }
   });
}

public void savenum1(String phoneNum1) {

    AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);

    dlgAlert.setMessage("Saved" + phoneNum1);
    //dlgAlert.setPositiveButton("OK", null);
    dlgAlert.setCancelable(true);

    dlgAlert.setPositiveButton("Ok",
        new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              //dismiss the dialog  
            }
        });    
    dlgAlert.create().show();
}
于 2013-07-16T18:26:01.057 回答