OnEditorActionListener 不工作
OnEditorActionListener not working
我只是想在用户编辑 EditText 时显示 Toast 消息,但我没有收到 Toast 消息!
我做错了什么?
public class OfferRide extends Activity implements TextView.OnEditorActionListener {
private EditText et_msg;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
initializeViews();
}
private void initializeViews() {
et_msg = (EditText) findViewById(R.id.et_msg);
et_msg.setOnEditorActionListener(this);
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(getApplicationContext(), "Editing",Toast.LENGTH_LONG).show();
return false;
}
}
如果您在 EditText
中按 Enter,onEditorAction()
将起作用。要在每次进行更改时触发操作,您可以使用 TextWatcher()
et_msg.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Toast.makeText(getApplicationContext(), charSequence ,Toast.LENGTH_LONG).show();
}
@Override
public void afterTextChanged(Editable editable) {}
});
我只是想在用户编辑 EditText 时显示 Toast 消息,但我没有收到 Toast 消息!
我做错了什么?
public class OfferRide extends Activity implements TextView.OnEditorActionListener {
private EditText et_msg;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
initializeViews();
}
private void initializeViews() {
et_msg = (EditText) findViewById(R.id.et_msg);
et_msg.setOnEditorActionListener(this);
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(getApplicationContext(), "Editing",Toast.LENGTH_LONG).show();
return false;
}
}
EditText
中按 Enter,onEditorAction()
将起作用。要在每次进行更改时触发操作,您可以使用 TextWatcher()
et_msg.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Toast.makeText(getApplicationContext(), charSequence ,Toast.LENGTH_LONG).show();
}
@Override
public void afterTextChanged(Editable editable) {}
});