在EditText中使用if语句

时间:2014-02-14 16:57:03

标签: android if-statement equals

我有一个带有EditText的警告框 它没有通过" if"当我尝试将它与用户输入进行比较时。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

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

    alert.setTitle("Number of players: ");


     final EditText input = new EditText(this);
    alert.setView(input);

    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {

        }
    });

    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            // Canceled.
        }
    });

    alert.show();

它不能从这里开始工作:

String newString = input.getText().toString();

if(newString.equals("2"))

    {
        System.out.print("lol");

    }

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您必须将第二个列表的代码放在其中一个按钮的OnClickListener中(我猜您希望在按下确定按钮后执行它):

...
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
        String newString = input.getText().toString();
        if(newString.equals("2")) {
            System.out.print("lol");
        }
    }
});
...

显示对话框后,您不能指望立即获得用户输入。用户根本没有时间输入任何内容。

答案 1 :(得分:0)

我确信if工作正常,你只是看不到它。在Android应用程序中使用System.out.print();是不可取的,因为没有输出到的控制台。请改用 Logcat

More info on the topic