2012-06-17 119 views
0

一個選項後,我有以下的菜單選項,剛剛靜音/取消靜音退出秀一下頁面中。返回回程序點擊菜單

第三種情況將加載圖片。在點擊第三種情況後,如何在返回按鈕後返回到我的程序?

switch (item.getItemId()) { 

    case R.id.mute: 
     if(toggle) { 
      mMediaPlayer.setVolume(0,0f); 
      Toast.makeText(SingoActivity.this, "Mute ON", Toast.LENGTH_LONG).show(); 
      toggle=!toggle; 
     } else { 
      mMediaPlayer.setVolume(1,0f); 
      Toast.makeText(SingoActivity.this, "MUTE OFF", Toast.LENGTH_LONG).show(); 
      toggle=!toggle; 
     } 
     return true; 

    case R.id.exit:    
     finish(); 
     System.exit(0);     
     return true;     

    case R.id.about: 
     setContentView(R.layout.help);     
     return true; 

    default: return super.onOptionsItemSelected(item); 

} 

回答

0

是否有沒有在自定義對話框或自己的活動中有幫助圖片的原因?

在當前實現中,您將不得不重寫onKeyDown並攔截後退按鈕單擊事件。如果當前佈局是R.layout.help,則必須加載舊佈局。

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     if(current layout is R.layout.help) { 
      setContentView(R.layout.oldlayout); 
      return true; 
     } 
    } 
    return super.onKeyDown(keyCode, event); 
} 

我寧願使用自定義對話框,單獨的活動或FrameLayout來實現我認爲你想實現的目標。

+0

dialog = new Dialog(this); dialog.setContentView(R.layout.help); 對不起,作爲一個noob,我的自學技能是非常有限的。對話框會這樣嗎? 我嘗試編譯,沒有錯誤,但當我點擊菜單上的幫助,沒有dialo「彈出」了。 – user1370097

0
dialog = new Dialog(this); 
dialog.setContentView(R.layout.help); 

對不起,作爲一個noob,我的自學技能是非常有限的。對話框會這樣嗎?

我嘗試編譯,沒有錯誤,但是當我點擊菜單上的幫助時,沒有dialo「彈出」。

+0

您需要調用'dialog.show()'使其可見。查看[docs](http://developer.android.com/guide/topics/ui/dialogs.html)獲取對話幫助;) – Ole