2012-07-04 3 views
0

메뉴가 하나뿐입니다. 내가 버튼을 종료 리스너를 추가하는 경우android Setonclicklistener가 메뉴 항목과 작동하지 않습니다.

Button exit; 
@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // TODO Auto-generated method stub 
     super.onCreateOptionsMenu(menu); 
     MenuInflater blowUp = getMenuInflater(); 
     blowUp.inflate(R.menu.exitmenu, menu); 
     return true; 
    } 
exit=(Button)findViewById(R.id.bexitMenuExit); 

, 내가 excpetion (널 포인터), 난, 버튼 종료이 메뉴

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/bexitMenuExit" 
     android:title="Exit" 


     android:icon="@android:drawable/ic_menu_close_clear_cancel" 
     ></item> 
</menu> 

무엇 오전오고 어떤 구문 오류가 없다는 것을 확신을 가지고 내가 잘못 했니?

답변

2

Button을 초기화 할 필요가 없으며 이것이 나에게 도움이되지 않습니다.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    new MenuInflater(getApplicationContext()).inflate(R.menu.exitmenu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getId()) { 
     case R.id.bexitMenuExit: 
     // work that will start when you click on this 
     ... 
    } 
} 

또한, OnClickListener을 사용할 필요가이 거기에 onOptionsItemSelected 방법이며 당신은 그것을 사용해야 없다 : 그냥 팽창하여 Menu 그냥 재정 방법을 onOptionsItemSelected.

+0

아니오 메뉴가 없습니다. xml로 존재하는 메뉴를 의미합니다. – Totti

+0

MenuInflater를 사용하고 계신가요? 메뉴 만들기, 아닌가요? – Sajmon

+0

omg 죄송합니다. xml에서 메뉴를 생성하는 것에 대해 죄송합니다. ( – Totti

0

메뉴 항목의 경우 Sajmon에서 설명한대로 onOptionsIemsSelected 함수를 사용할 수 있습니다. onClickListener는 뷰에서 사용되는 반면이 함수는 스위치 케이스를 사용하는 메뉴 항목에서 특별히 사용하도록 설계되었습니다.

관련 문제