2012-04-06 29 views
1

私は自分のデータベースクラスのオプションメニューを作成しました。オプションメニューを起動すると、指定されたボタンをクリックして目的のアクティビティを実行します。onOptionsItemSelected issue

しかし、問題は、私が任意のオプションをクリックすると、MainMenu.classに送られるということです。これがなぜ起こっているのか?

コード:

@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

あなたはすべてのケースにはbreak文が欠落しているように見えます。

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; 
    } 

ゴー