我有一个包含一些EditTexts的弹出窗口。我想在弹出窗口中创建自定义数字键盘。所以我有10个按钮代表数字0-9。内部按钮'onClickListener我尝试调度键事件
public void onClick(View v) {
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_0));
}
但它对EditTexts没有影响。我试着用可聚焦的等于真和假来做,但结果是一样的。当我尝试在活动的主要布局中调度关键事件时,它运行良好,那么我应该更改什么以使我的代码在弹出窗口中工作?
答案 0 :(得分:0)
您是否尝试过关注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();
这将注入一个事件,该事件将由具有焦点的视图处理