2012-11-26 2 views
2

작업 표시 줄 로고를 클릭하면 클릭 동작을 어떻게 얻을 수 있습니까? 나는 ActionBar의 아이콘/로고를 클릭하는 방법

경우 android.R.id.home을 onOptionsItemSelected 시도 : // 여기에 행동을

를 얻을 수 및 작동하지 않습니다. 나는에서 onCreate

getWindow().getDecorView().setOnClickListener(this); 
getWindow().getDecorView().setOnTouchListener(this); 
getWindow().getDecorView().getRootView().setOnClickListener(this); 
getWindow().getDecorView().getRootView().setOnTouchListener(this); 

에서이 같은 내 장식보기에 온 클릭 리스너를 추가하기 위해 노력하고 나는 간단한 리스너

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    // TODO Auto-generated method stub 
    Toast.makeText(this, "onTouch pressed", Toast.LENGTH_LONG).show(); 

    return false; 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    Toast.makeText(this, "onClick pressed", Toast.LENGTH_LONG).show(); 
} 

을 구현하지만 방법이 전혀 입력하지 않습니다. 사용자가 내 decorview의 왼쪽 상단에서 클릭 할 때 어떻게

답변

3

먼저 클릭 할 수있는 버튼으로 로고 아이콘 설정하거나 온 클릭 액션에 온 클릭 조치를 얻을 수 있습니다 : 다음

myActionBar.setHomeButtonEnabled(true); 

, 클릭 수를 얻기 위해이 메소드를 오버라이드 (override) :

public boolean onMenuItemSelected(int featureId, MenuItem item) 
+1

당신이'재정의 할 수 없습니다 onOptionsItemSelected' 대신하는 경우 '무시하십시오 AppCompatActivity –

+0

에 마지막으로 선언 된 것 onMenuItemSelected 공공 부울 (INT의 FEATUREID, MenuItem의 항목을) 재정의 할 수 없습니다 onMenuItemSelected' – marmor

관련 문제