为什么导航抽屉图标丢失?

我需要在活动的右上角显示Navigation drawer图标。我已经包含了无法正常工作的代码。我正在使用 android Studio 3.5.3 ,最新版本

为什么导航抽屉图标丢失?

Java代码:

  package com.example.myapplication;
  import android.os.Bundle;
  import com.google.android.material.floatingactionbutton.FloatingactionButton;
  import com.google.android.material.snackbar.snackbar;
  import android.view.View;
  import androidx.navigation.NavController;
  import androidx.navigation.Navigation;
  import androidx.navigation.ui.AppBarConfiguration;
  import androidx.navigation.ui.NavigationUI;
  import com.google.android.material.navigation.NavigationView;
  import androidx.drawerlayout.widget.DrawerLayout;
  import androidx.appcompat.app.AppCompatactivity;
  import androidx.appcompat.widget.Toolbar;
  import android.view.Menu;

  public class Mainactivity extends AppCompatactivity {

  private AppBarConfiguration mAppBarConfiguration;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportactionBar(toolbar);
    FloatingactionButton fab = findViewById(R.id.fab);
    fab.setOnClicklistener(new View.OnClicklistener() {
        @Override
        public void onClick(View view) {
            snackbar.make(view,"Replace with your own action",snackbar.LENGTH_LONG)
                    .setaction("action",null).show();
        }
    });
    DrawerLayout drawer = findViewById(R.id.drawer_layout);
    NavigationView navigationView = findViewById(R.id.nav_view);
    // Passing each menu ID as a set of Ids because each
    // menu should be considered as top level destinations.
    mAppBarConfiguration = new AppBarConfiguration.Builder(
            R.id.nav_home,R.id.nav_gallery,R.id.nav_slideshow,R.id.nav_tools,R.id.nav_share,R.id.nav_send)
            .setDrawerLayout(drawer)
            .build();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main,menu);
    return true;
 }
}

我对Java和XML代码进行了一些更改。我是Android Studio的初学者。请帮助我纠正错误。

这是XML代码

   <?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     app:layout_behavior="@string/appbar_scrolling_view_behavior"
     tools:showIn="@layout/app_bar_main">
  </RelativeLayout>
digitalsum 回答:为什么导航抽屉图标丢失?

尝试添加此内容:

supportActionBar?.setDisplayHomeAsUpEnabled(true)

在Android中:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

您可能无法打开菜单。之后,添加以下内容:(在Kotlin中)

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    super.onOptionsItemSelected(item)
    return when (item.itemId) {
        android.R.id.home -> {
            drawer_layout.openDrawer(GravityCompat.START)
            true
        }
        else -> super.onOptionsItemSelected(item)
    }
}
本文链接:https://www.f2er.com/2857163.html

大家都在问