从编辑文本中获取int并将其转换为字符串

时间:2016-05-19 15:01:27

标签: java android

我遇到了这个问题:我无法获取EditText(int)值,将其转换为字符串然后在Alert Dialog中使用它。

(我正在进行电话号码验证。不是一个先进的!只是简单的确认新用户真实。) 这是我的代码:

sms_verification:

public class sms_verification extends AppCompatActivity {
    ImageButton send;
    EditText text;
    String myEditValue;
    public  static int phone;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sms_verification);

        send = (ImageButton)findViewById(R.id.imageButton);
        text = (EditText)findViewById(R.id.editText);       
    }

    public void AlertDialog(View view) {    
        myEditValue = text.getText().toString();
        phone = Integer.parseInt(myEditValue);   

        AlertDialog.Builder alertdlg = new AlertDialog.Builder(this);
        alertdlg.setMessage("Confirmation")
                .setCancelable(false)
                .setMessage("Is " + phone +" your phone number?")
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        setContentView(R.layout.sms_verification2);
                    }
                })
                .setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });

        AlertDialog alertDialog = alertdlg.create();
        alertDialog.show();    
    }
}

3 个答案:

答案 0 :(得分:0)

对不起,我还不能发表评论。但你的电话号码是否有破折号?查看对话框,为什么还需要解析整数值?

.setMessage("Is " + myEditValue +" your phone number?")

答案 1 :(得分:0)

首先,您要将String转换为int,然后再将int转换为String,这没有任何意义。

就这样做

"Is " + text.getText().toString() +" your phone number?"

答案 2 :(得分:-2)

你应该可以使用:

String.valueOf(phone)

e.g。

.SetMessage("Is " + String.valueOf(phone) + " your phone number")