我有一个包含一些EditTexts的弹出窗口。我想在弹出窗口中创建我的自定义数字键盘。所以我有10个按钮,代表数字0-9。内部按钮的onClickListener I尝试分派按键事件
public void onClick(View v) {
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_0));
}
但这对EditTexts没有影响。我试着用焦距等于true和false来做这件事,但是结果是一样的。当我试图在活动的主布局中分派按键事件时,它工作得很好,那么我应该做什么更改才能使我的代码在弹出窗口中工作?
发布于 2013-03-05 14:30:07
你有没有试过在EditTexts上申请焦点?不仅仅是使用
editText.setFocusable(true);
但同时也
editText.requestFocus();
我认为这也有可能不起作用,因为你没有首先注入一个DOWN事件。尝试以下操作:
Instrumentation mInstrumentation = new Instrumentation();
final Thread t = new Thread() {
public void run(){
mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_0);
};
t.start();
这将注入一个事件,该事件将由具有焦点的视图处理
https://stackoverflow.com/questions/14390152
复制相似问题