如何为特定数字设置EditText侦听器?

时间:2016-01-05 17:24:53

标签: android button android-edittext keyword toast

我想要一个应用程序中的EditText字段的监听器,该监听器应该监听我想到的特定行数。

例如: 如果用户输入数字“12345”并按下按钮,则必须显示toast消息。如果用户输入的数字不是“12345”,则button必须运行其主要功能。

我想把它作为我申请中的一个小蛋复活节彩蛋。

4 个答案:

答案 0 :(得分:2)

EditText允许您添加TextWatcher视图addTextChangedListener(TextWatcher):

假设你有:

EditText mEditText = (EditText) findViewById(R.id.my_edit_text);

然后我们可以添加一个TextWatcher:

// Add the TextChangeListener which is a TextWatcher
mEditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
             //... For listening to text on the fly
             if(s.toString().equals("12345")){
                  Toast.makeText(MyActivity.this, "Some message" Toast.LENGHT_SHORT).show();
              }
            }

            @Override
            public void afterTextChanged(Editable s) {
               //... for a callback after text is changed
            }
        });

答案 1 :(得分:1)

在@ Kristo1990上回答:

EditText editText = (EditText) findViewById(R.id.my_edit_text);

然后按下按钮:

if (editText.getText().toString().equals("12345")) {
    Toast.makeText(getApplicationContext(), "Message is 12345", Toast.LENGTH_SHORT).show();
} else {
    someOtherMethod();
}

更安全(和更轻)然后是不必要的TextWatcher

答案 2 :(得分:0)

添加onTextChanged侦听器

mEditText.addTextChangedListener(new TextWatcher()
    {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)
        {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            if(mEditText.getText().toString().equals("12345"))
               //do stuff
        }

        @Override
        public void afterTextChanged(Editable s)
        {

        }
    });

答案 3 :(得分:0)

只需使用If语句检查editText的值,例如:

 if(editText.getText().equals("12345"))
 {
 Toast.makeText(getApplicationContext(), "Message is 12345",Toast.LENGTH_SHORT).show();
 }

希望它有所帮助。