10

私は ActionBarSherlock ライブラリを使用しており、ここここで提案されている正確な手順に従って、前の画面へのナビゲーションを有効にしています。

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

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 アクティビティを使用している間、宣言が見つかりません。何か不足していますか?

4

3 に答える 3

12

just replace this

android.R.id.home

to

R.id.home

and check your code... run it

because

R.layout.* are layouts you provide (in res/layout, for example).

android.R.layout.* are layouts that ship with the Android SDK.

于 2013-03-22T08:50:36.173 に答える
7

これは古い質問であることは承知していますが、正しい答えが欠けていると思います。

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

home11で導入されたため、minSdkVersion が 11 以上であることを確認してください。

于 2014-01-20T08:29:12.827 に答える
1

私はこの問題に遭遇したことを覚えています.どうやら、非常に頻繁にスタックオーバーフローをすばやくグーグルまたは検索すると、何らかの洞察が得られるはずです.とにかく、このスレッドを確認してください.Rは解決できません-Androidエラー私はあなた が同じ問題に遭遇していると確信しています.

于 2013-03-22T08:47:48.647 に答える