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 ではありません。では、どうすればこれを機能させることができますか。

私が使用しているエミュレーターには、Android バージョン 2.3.1 があります。actionbarsherlock からの残りのすべては、期待どおりに機能します。

青いブロックはクリックするボタンで、クリックすると元に戻ります。 ここに画像の説明を入力

4

2 に答える 2

43

android.R.id.homeではなく、ホーム アフォーダンスを検出するために使用しますR.id.abs__home。たとえば、このサンプル プロジェクトから、ABS 4.0.2 を使用すると、次のようになります。

  @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
  }
于 2012-05-04T13:13:14.103 に答える
1

それはバグであり、ここで報告されましたhttps://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/dsZr7z4_xvU

于 2013-02-26T15:51:02.360 に答える