如何为特定数字设置 EditText 侦听器?
How to set a EditText listener for specific numbers?
我想要应用程序中我的 EditText
字段的侦听器,它应该侦听我想到的特定数字行。
例如:
如果用户输入数字“12345”并按下按钮,则必须显示 toast
消息。如果用户输入除“12345”以外的其他数字,button
必须 运行 他的主要功能。
我想把它作为我应用程序中的一个小复活节彩蛋。
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
}
});
添加一个 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)
{
}
});
只需使用 If 语句检查 editText 的值,例如:
if(editText.getText().equals("12345"))
{
Toast.makeText(getApplicationContext(), "Message is 12345",Toast.LENGTH_SHORT).show();
}
希望对您有所帮助。
详细说明@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
。
我想要应用程序中我的 EditText
字段的侦听器,它应该侦听我想到的特定数字行。
例如:
如果用户输入数字“12345”并按下按钮,则必须显示 toast
消息。如果用户输入除“12345”以外的其他数字,button
必须 运行 他的主要功能。
我想把它作为我应用程序中的一个小复活节彩蛋。
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
}
});
添加一个 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)
{
}
});
只需使用 If 语句检查 editText 的值,例如:
if(editText.getText().equals("12345"))
{
Toast.makeText(getApplicationContext(), "Message is 12345",Toast.LENGTH_SHORT).show();
}
希望对您有所帮助。
详细说明@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
。