0
我知道如何通过重写如何在软键盘处于打开状态时捕捉按键事件android?
public boolean onKeyDown(int keyCode, KeyEvent event)
问题是当软键盘打开这种方法并不甚至称... 任何方式反正赶事件赶上我的活动的关键事件?
我知道如何通过重写如何在软键盘处于打开状态时捕捉按键事件android?
public boolean onKeyDown(int keyCode, KeyEvent event)
问题是当软键盘打开这种方法并不甚至称... 任何方式反正赶事件赶上我的活动的关键事件?
是的,当我们谈论软键盘时,意味着它不那么容易使用它。顺便说一下,与软键盘相关的方法不会带来预期的结果。例如:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
//do something
return super.onKeyDown(keyCode, event);
}
我找到的解决方法是使用TextWatcher。使用此代码为您的应用
YourEdit = (EditText) findViewById(R.id.YourEdit);
YourEdit.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged (Editable s)
{
//checking of TextWatcher functionality
Toast.makeText(mContext, "afterTextChanged", 3).show();
//do something
}
public void beforeTextChanged (CharSequence s, int start, int count, int after)
{
//checking of TextWatcher functionality
Toast.makeText(mContext, "beforeTextChanged", 3).show();
//do something
}
public void onTextChanged (CharSequence s, int start, int before, int count)
{
//checking of TextWatcher functionality
Toast.makeText(mContext, "onTextChanged", 3).show();
//do something
}
});
这些方法依次称为:beforeTextChanged,onTextChanged和afterTextChanged。您可以捕捉任何文本更改阶段。 祝你好运!