2013-03-22 43 views
9

私はActionBarSherlockライブラリを使用していますが、前の画面へのナビゲートを有効にするには、herehereという正確な手順に従っています。ActionBarSherlock:OnOptionsItemSelectedはR.id.homeを認識しません

私のコードは次のようになります。

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // This callback is used only when mSoloFragment == true (see 
    // onActivityCreated above) 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     // App icon in Action Bar clicked; go up 
     Intent intent = new Intent(this, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Reuse the 
                  // existing 
                  // instance 
     startActivity(intent); 

     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

しかしR.id.homeが認識され、家庭が赤に表示されていません。 : - /ネイティブアクションバーを使用する場合、ホーム宣言は私をids.xmlファイルに変換します。しかしここでは、ActionBarSherlockアクティビティを使用している間は宣言は見つかりません。何か不足していますか?

答えて

12

あなたにいくつかの洞察力を与えてくれたはずです。この問題に実行していると明らかにそのかなり頻繁に簡単にGoogleやスタックオーバーフローを検索覚えこの

android.R.id.home 

R.id.home 

を交換し、あなたをチェックRコード...

R.layout.*あなたは(たとえば、解像度/レイアウトで)提供したレイアウトであるため、

にそれを実行します。

android.R.layout.*は、Android SDKに付属するレイアウトです。

+0

それはR.id.homeAsUpとして私に示唆を与えました。私はこれを選んで保存しました。私はそれが動作しているかどうかを見つけたら、このスレッドを更新します。 – buggydroid

+0

これは正しい答えではないかと思います。 android.R.id.homeは問題ありません。私はminSdkVersionが低すぎると思われます。 11以上でなければなりません。 –

+0

@フランク:あなたがactionbarsharelockを使用した場合、min sdkは8です。 –

1

私はとにかく同じ問題にR cannot be resolved - Android error イムあなたが実行しているかなり確信してこのスレッドをチェックアウト

+0

で導入されて以来

は、あなたのminSdkVersionが11以上であることを確認してくださいあなたは私の答えに見ている必要があります。http://stackoverflow.com/a/15566144/1168654 –

+0

あなたの正しいBRAVO? – brendosthoughts

+4

ブレンダン - 私の問題はRエラーではありません。それはActionBarSherlockライブラリに関係しています。あなたの答えをより具体的にしてみてください。 :)ちょうど提案。とにかくありがとう。 – buggydroid

7

これは古い質問ですが、正しい答えが見つからないと思います。

プラットフォームリソースであるため、android.R.id.homeである必要があります。コードは問題ありません。 homeが11

関連する問題