2012-06-06 3 views
22

어제 저는 왼쪽에서 항목 메뉴를 누를 때 작동 막대 왼쪽 상단에있는 "페이스 북 메뉴"를 가질 수있는 훌륭한 라이브러리를 발견했습니다 .SherlockFragmentActivity에서 onOptionsItemSelected를 재정의했습니다.

문제는 내 응용 프로그램이 작업 표시 줄과 역 호환되는지 확인하기 위해 ActionBarSherlock 라이브러리를 사용하고자하는 것입니다. 라이브러리를 사용하는 경우 I는 특히, 같은 onOptionsItemSelected를 재정의해야합니다

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    int id = item.getItemId(); 

    if (id == android.R.id.home) { 

     rbmView.toggleMenu(); 

     return true; 

    } else { 
     return super.onOptionsItemSelected(item); 
    } 
} 

는 지금은 도서관에 가서 만들었다 개발자가 최종을 onOptionsItemSelected 것을 보았다. 나는 그것을 제거하고 단지 그것을 다시 무시하려고 노력했다. 그 제품이 버튼을 누를 때마다 아무 일도 일어나지 않는다는 것을 발견했다. 전혀.

darvds_ribbonmenu 라이브러리를 actionbarsherlock과 함께 사용하는 방법에 대한 아이디어는 무엇입니까?

+0

연장 여부 ** ** SherlockFragmentActivity ** 연장 가능 여부 확인 – Venky

+7

내 질문의 제목 이상을 읽으십시오. – CodePrimate

답변

50

ABS를 사용할 때 올바른 방법을 재정의하려면 MenuItem의 네임 스페이스를 지정해야한다고 밝혀졌습니다. import com.actionbarsherlock.view.MenuItem;

@Override 
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) 
{ 
    int id = item.getItemId(); 
    Log.d("item ID : ", "onOptionsItemSelected Item ID" + id); 
    if (id == android.R.id.home) { 
     rbmView.toggleMenu(); 

     return true; 

    } else { 
     return super.onOptionsItemSelected(item); 
    } 
} 
+32

아니면 그냥 가져 오기를 전환 할 수 있습니다. 'android.view.MenuItem' 매개 변수가있는 수퍼 클래스 메소드는 잘못된 것입니다. –

+0

감사합니다.이 역시 도움이되었습니다. – user1071138

17

변경 import android.view.MenuItem;를 다음과 같이 내 솔루션이었다. 그렇지 않으면 가져 오는 것과 완전히 다른 MenuItem을 사용하고있는 것입니다.

관련 문제