2012-04-06 2 views
1

나는 내 데이터베이스 클래스에 대한 옵션 메뉴를 만들었습니다. 옵션 메뉴를 실행하면 지정한 버튼을 클릭하여 원하는 작업을 수행하고 싶습니다.onOptionsItemSelected 문제

그러나 문제는 내가 임의의 옵션을 클릭하면 MainMenu.class으로 연결된다는 것입니다. 왜 이런 일이 일어나고 있는거야?

코드 : 당신은 모든 경우에 break 문을 누락처럼

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


    public boolean onOptionsItemSelected (MenuItem item){ 
     switch (item.getItemId()) 
     { 
     case R.id.item1: 
     { Intent r=new Intent(Database.this,MainMenu.class); 
      startActivity(r); 
     } 

     case R.id.takesurvey: 
     { 
      Toast toast=Toast.makeText(this, "check", 2000); 
       toast.show(); 
      Intent r1=new Intent(Database.this,SurveyActivity.class); 
      startActivity(r1); 
     } 

     case R.id.viewstats: 
     { Intent r2=new Intent(Database.this,Stats.class); 
      startActivity(r2); 
     } 

     case R.id.changesort: 
     { Intent r3=new Intent(Database.this,MainMenu.class); 
      startActivity(r3); 
     } 

     case R.id.menuexit: 
     { Intent r4=new Intent(Database.this,MainMenu.class); 
      startActivity(r4); 
     } 
     } 
     return true; 
    } 

답변

8

것 같습니다.

4
public boolean onOptionsItemSelected (MenuItem item){ 
     switch (item.getItemId()) 
     { 
     case R.id.item1: 
     startActivity(new Intent(Database.this,MainMenu.class)); 
     break; 

     case R.id.takesurvey: 
     Toast.makeText(this, "check", 2000).show(); 
     startActivity(new Intent(Database.this,SurveyActivity.class)); 
     break; 

     case R.id.viewstats: 
     startActivity(new Intent(Database.this,Stats.class)); 
     break; 

     case R.id.changesort: 
     startActivity(new Intent(Database.this,MainMenu.class)); 
     break; 

     case R.id.menuexit: 
     startActivity(new Intent(Database.this,MainMenu.class)); 
     break; 

     return true; 
    } 
이를 통해

case R.id.item1: 
    { Intent r=new Intent(Database.this,MainMenu.class); 
     startActivity(r); 
     return true; 
    } 

이동