2012-05-04 17 views
11

ホームボタンを押したときに、元のボタンに戻ると元に戻りません。アクションバーの戻るボタンが戻ってこない

public class TotalOverview extends SherlockActivity { 

public void onCreate(Bundle savedInstanceState) { 
    setTheme(R.style.Theme_Sherlock);  
    super.onCreate(savedInstanceState);   
    //requestWindowFeature(Window.FEATURE_PROGRESS); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 
    setContentView(R.layout.main); 
    //getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 

} 

私もこの方法

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    boolean toReturn = false; 
    int id = item.getItemId(); 
    if(id == R.id.abs__home) 
    { 
     toReturn = true; 
    } 
    return toReturn; 
} 

でそれをキャッチしようとしたが、それは私がこの方法に手に入れた動作しませんでしたが、idはR.id.abs__homeと同じID ではありません。では、どうやってこれを動作させることができますか?

私が使用しているエミュレータには、アンドロイドバージョン2.3.1があります。残りの部分については、 のactionbarsherlockのすべてが期待どおりに機能します。

青いブロックはクリックしたボタンで、クリックすると元に戻ります。 enter image description here

答えて

43

android.R.id.homeは、R.id.abs__homeではなく、ホームアフォーダンスを検出するために使用します。例えば、ABS 4.0.2を使用してthis sample projectから:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
     pager.setCurrentItem(0, false); 
     return(true); 

    // more code here for other cases 
    } 
+2

報告し、それを試みたが、それは助けていませんでしたが、努力に感謝。 – mariomario

+0

@mariomario:それは私のために働く。更新された回答をご覧ください。 – CommonsWare

+0

大丈夫です。今すぐ取得します。今すぐ前の動作に送信するだけです。ほんとありがと。 – mariomario

関連する問題