我正在尝试实现一种方法来知道软键盘上何时有按下和释放键。我使用过onKeyListener来获得按键的按下和按下,但是这样做的问题是它只能在硬键盘上使用。我发现OnKeyBoardActionListener似乎具有此功能。我遇到的问题是我需要从用于简单测试的edittext获取KeyboardView。
public class testing extends Activity implements KeyboardView.OnKeyboardActionListener{
EditText testingBox;
TextView textbox;
KeyboardView keyView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textbox = (TextView)findViewById(R.id.TextView01);
testingBox = (EditText)findViewById(R.id.EditText01);
//keyView is null i need to get it somehow.
keyView.setOnKeyboardActionListener(this);
}
//methods for the OnKeyBoardActionListener
}
如果有人可以就如何获得此keyBoardView提供任何建议,或者以其他方式可以捕获这些软键盘的按下和释放,那将是很棒的。谢谢。
最佳答案
我相信,要捕获软键的确切新闻和发布,唯一的方法是从IME内部。您可以通过TextWatcher看到文本更改。
我认为这部分是因为IME可能没有关键的上下机制。 IME不一定需要看起来像标准的qwerty键盘。可能像Swype之类的,您在其中画出一个图案,然后出现一些单词。