刚开始使用android,想在edittext上找出keyUp。我在keyUp上遵循各种教程,但只能按下后退按钮。我想让它在类型上工作。就像电话簿一样,当你输入时会触发一些事件。
我的代码:
private EditText input;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contacts);
addKeyListener();
}
public void addKeyListener() {
input = (EditText) findViewById(R.id.names);
input.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Toast.makeText(Contacts.this,
input.getText() + " you have typed", Toast.LENGTH_SHORT)
.show();
return true;
}
});
}
当前代码仅适用于后退按钮,如果我按后退按钮,则Toast
会出现。
答案 0 :(得分:3)
import android.text.TextWatcher;
。
您可以在文本字段中添加TextWatcher。在你的情况下,这会 看起来像:
EditText in = new EditText(this);
in.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence cs, int s, int b, int c) {
Log.i("Key:", cs.toString());
}
public void afterTextChanged(Editable editable) { }
public void beforeTextChanged(CharSequence cs, int i, int j, int
k) { }
});
最好,
答案 1 :(得分:0)
如果用户在EditText上输入,那么Chack和onTextChanged可以使用你的触发器:) 希望它的帮助:)
EditText mTextPhoneNumber;
mTextPhoneNumber = (EditText)findViewById(R.id.example);
mTextPhoneNumber.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) {
Log.d("LOGER" , s.length()+""); // show the count of the Text in the TextView
}
@Override
public void afterTextChanged(Editable s) {
}
});