2013-01-17 3 views
0

일부 EditText가 포함 된 팝업 창이 있습니다. 팝업 창 안에 맞춤형 숫자 키보드를 만들고 싶습니다. 그래서 숫자 0-9를 나타내는 10 개의 버튼이 있습니다. 내부 버튼 'onClickListener 키 이벤트를 파견하려고했습니다dispatchKeyEvent가 PopupWindow 내 EditText에 적용되지 않습니다.

public void onClick(View v) { 
    dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_0)); 
} 

그러나 EditText에는 적용되지 않습니다. 나는 중점을두고 true와 false를 같게하려고했지만 결과는 같습니다. 활동의 주요 레이아웃에 키 이벤트를 보내려고 할 때 팝업 창 내부에서 코드 작업을 변경해야하는 이유는 무엇입니까?

답변

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(); 

관련 문제