2011-11-02 4 views
1

내가 원하는 것은 특정 키 이벤트가 발생했을 때 click() 액션을 호출하는 것입니다. 특정 객체에 대한 keydown 이벤트를 처리 할 수 ​​있지만 클릭 가능한 객체가 2 개있는 경우 (예 : 하나는 그림이고 다른 하나는 버튼이며 클릭 동작은 다르게 동작 함)android에서 클릭 및 키 이벤트 바인딩하기

그래서 나는 그저 이벤트를 잡아서 android가 clicked (키가 아닌)로 동작하도록하고 싶습니다.

감사

편집 :

내가 솔루션을 마지막으로 찾을 수 있습니다. 그것을 위해

단계 :

-implement onKeyListener 울어보기 asubclass 인 객체의은 PerformClick() 메서드를하고 온 클릭을 호출 할.

샘플 코드 :

button.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View view, int i, KeyEvent keyEvent) { 
      view.performClick(); 
      Toast.makeText(
        context, 
        "button onkey - " + i, 
        Toast.LENGTH_LONG) 
        .show(); 
      return false; //return true if you want to stop the rest of same key event processing. 
} 

내가 나중에 솔루션을 작성하는 잊지 두려워입니다. 나는 몇 시간 동안 글을 쓸 뿐이다. 그러면 나는 새로운 대답에 대한 답을 얻을 것이다.

답변

0

귀하의 질문을 완전히 이해하고 있는지 잘 모르겠습니다. 이벤트 캡처 만 하시겠습니까? 아니면 사용자가 View을 클릭 할 때 무엇인가를 원하십니까? 이 후자의 경우 여기에 ..., 당신이 그것을 할 수있는 방법

OnClickListener()

예 :

private Button btn; 
btn = (Button) findViewById(R.id.buttonId); 
btn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // Handle your click events here 
    } 
}); 

는 그냥 ImageView과 같은 않습니다.

문서 :

http://developer.android.com/reference/android/view/View.OnClickListener.html

+0

그래서 내가 '공공 부울 onKeyDown에 (INT 키 코드, KeyEvent를 이벤트) { ... }에 전화를 무슨' 내가 필요 화면에서 클릭 한 것과 같은 활동을 설정하십시오. 활동의 클릭 동작을 호출해야합니다. 물건이 아닙니다. –

+0

View.OnClickListener를 구현하여 전체 Activity에 대해 OnClickListener()를 생성 할 수 있습니다. 아직도 그게 당신이 찾고있는 것이 확실하지 않다면 ... –

+0

내가 따라갈 길을 찾은 것 같아. 'performClick();을 호출하기 위해 객체의 onKeyListener를 구현해야합니다. –