2013-11-24 52 views
0

在ABS中,我使用Home作爲後退按鈕或向上導航。現在我有一個要求,如果用戶長時間長時間按住操作欄中的家庭/向上按鈕指示燈,我需要顯示主屏幕。對於正常按下,向上按鈕將作爲迴流。我沒有找到任何特定的方法來覆蓋。目前我正在處理onOptionsItemSelected。Android ActionBarSherlock檢測主菜單項上的長按

試圖在StackOverflow中進行搜索。沒有找到任何可靠的例子。

更新: 我嘗試使用下面的代碼,但在這種情況下,一次點擊不工作的設備。儘管在模擬器中,兩次點擊都能正常工作。任何提示?

View homeItem = findViewById(android.R.id.home); 
    if(homeItem!=null){ 
     Log.d("homemenuitem","got it"); 
     View homeParent = (View)homeItem.getParent(); 
     homeParent.setOnLongClickListener(new View.OnLongClickListener() { 

      @Override 
      public boolean onLongClick(View v) { 
       // TODO Auto-generated method stub 
       Log.d("homemenuitem","long click got it"); 
       return true; 
      } 
     }); 

    } 

回答

0

我讓它謝謝你的示例代碼。 您可能不再需要解決方案,但我想爲其他人編寫該解決方案。 :-)

您只需編輯一條線:

View homeParent = (View)homeItem.getParent().getParent();

其實,視圖的LinearLayout包含主頁圖標和標題的TextView。 它至少適用於API LV14,但我不知道其他版本。 (根據API LV,ActionBar的視圖層次可能會有所不同)