1

2 つのフラグメントとドロワーを使用するアクティビティがあります。したがって、フラグメントにいるときは、ハンバーガーアイコンの代わりに「アップ」アイコンが表示されますが (setDisplayHomeAsUpEnabled の助けを借りて)、アクションは同じです (navigation_drawer_open/close)。では、代わりに onBackPressed() を取得するにはどうすればよいでしょうか?

そして、このコメントによると、「クリックを自動的に処理する」ため、ホーム/アップを自分で処理する方法がわかりません。

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
4

2 に答える 2

0

これを行うには、カスタム ツールバーを使用する必要があり、このライブラリの Android メニュー キーを使用する代わりに:
material-menu


このライブラリでは、矢印の状態を変更し、-90 度回転してバーガー アイコンの代わりにアップ アイコンを表示できます。

于 2015-11-12T13:52:01.343 に答える
0

通常、自動処理はアクティビティ間でのみ機能します。フラグメントを使用しているため、手動で処理する必要がある場合があります。

戻るボタンの押下を処理する方法の例を次に示します。

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home: // This is the home/back button
                onBackPressed(); // Handle what to do on home/back press
                break;
        }

        return false;
    }
于 2015-11-12T13:40:32.733 に答える