1

私は1つのアクティビティだけを使用し、ナビゲーションドロワーに必要なときにフラグメントを切り替えるアプリケーションに取り組んでいます。 これで、ActionBarのhomeAsUpボタンを使用して、これらのフラグメントの1つから戻ることができます。Android ActoinBar homeAsUpは一度しか動作しません。

ボタンを設定するためのすべての手順に従っています。ナビゲーションドロワーsetDrawerIndicatorEnabled(false)を無効にし、onCreateView()setDisplayHomeAsUpEnabled(true)を呼び出してください。 また、MainActivityのonCreate()setHomeButtonEnabled(true)を設定していますが、このアプリは既にMainActivityにあるため、親アクティビティを指定することはできません。

新しいインストールを実行すると、homeAsUpボタンが機能し、に登録され、onOptionsItemSelected()メソッドに登録されません。しかし、アプリケーションを閉じてもう一度実行すると、ボタンにはクリック数が登録されません。

onBackPressed()私はいくつかの条件をチェックしますが、ボタンを押してもブロックしません。 android.R.id.homeを確認します。android.R.id.homeを確認します。

残念ながら、私はコードを投稿できません。

この投稿は、私が達成しようとしているものを説明しますSwitching between Android Navigation Drawer image and Up caret when using fragments

答えて

0

私は、私が経験していた問題を修正するために管理。それは非常に単純な間違いでした。 私はこのコードの元の著者ではないので、私はMainActivityを徹底的に調べました。 setDisplayHomeAsUpEnabledという元の著者は、(これは非常に長い)機能の末尾に近いsetSupportActionBarと呼ばれ、setDisplayHomeAsUpEnabledの最初の呼び出しを役に立たなくしました。 移動setDisplayHomeAsUpEnabled以下setSupportActionBar私の問題が修正されました。

すべてを正しく実行した場合は、コードが正しい順序で記述されていることを確認してください。

さらに、他のフラグメントでカスタムツールバーを使用する場合は、元のサポートアクションバーをMainActivityのonResumesetSupportActionBar(toolbar.find(this))と呼んで設定してください。

関連する問題