2015-05-04 99 views
0

我正在使用android-support-v7-appcompat庫。迴應操作欄的向上按鈕

在我的片段中,我有一個具有不同控件的自定義操作欄。點擊按鈕,我將抽屜漢堡包圖標更改爲後退按鈕。

代碼:

((MyActivity)getActivity()).mDrawerToggle.setDrawerIndicatorEnabled(false); 
        actionBar.setHomeButtonEnabled(true); 
        actionBar.setDisplayHomeAsUpEnabled(true); 

現在我有一個後退按鈕在屏幕上顯示。當我點擊後退按鈕時沒有任何反應。

我在片段試過這樣:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     // Respond to the action bar's Up/Home button 
     case android.R.id.home: 
      Log.i("Back Button ", "back button clicked "); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
    } 

,但仍然沒有工作。

+0

當你點擊後退按鈕時,你會發生什麼? – Shannon

+0

我只是要檢測點擊並對其執行某些操作 – user2056563

回答

0

請使用下面的代碼捕獲返回按鈕事件。

同時添加以下兩行:

並在返回按鈕,標題 將there.You可以從您的自定義佈局覆蓋的後退按鈕點擊事件你的動作欄添加一個自定義佈局。

您可以設置自定義視圖你的動作條象下面這樣:

mActionBar.setCustomView(mCustomView);

mActionBar.setDisplayShowHomeEnabled(false);

mActionBar.setDisplayShowCustomEnabled(true);

@Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
       switch (item.getItemId()) { 
       case android.R.id.home: 
         Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show(); 

       } 
       return super.onOptionsItemSelected(item); 
     } 
+0

我的代碼段和您的代碼段有什麼區別?我已經做了同樣的事情 – user2056563

+0

我編輯了我的答案。請試試。 –

+0

它仍然不能正常工作 – user2056563

0

嘗試了這一點...在你AndroidManifest.xml,找到與您的片段的活性,添加屬性android:parentActivityName並設置父活動。然後,刪除線

actionBar.setHomeButtonEnabled(true); 
actionBar.setDisplayHomeAsUpEnabled(true); 

希望它有幫助。

+0

,因爲我已經說過它不是活動及其片段 – user2056563