Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改导航抽屉图标?_Java_Android_Android Studio_Navigation - Fatal编程技术网

Java 如何更改导航抽屉图标?

Java 如何更改导航抽屉图标?,java,android,android-studio,navigation,Java,Android,Android Studio,Navigation,我想更改我的导航抽屉图标。但在我更改图标后,应用程序崩溃了。错误代码显示了布尔值,我很遗憾不理解。我找不到我的失败。我是否以错误的方式实施了它? 对不起,我是Android Studio的新手,这个问题可能有点不必要。但是为了解决这个问题,他做了很多努力。然而,我还没有找到解决办法 那是主课。我在OnCreate方法之外生成了一个变量 public class MainActivity extends AppCompatActivity { private DrawerLayout m

我想更改我的导航抽屉图标。但在我更改图标后,应用程序崩溃了。错误代码显示了布尔值,我很遗憾不理解。我找不到我的失败。我是否以错误的方式实施了它? 对不起,我是Android Studio的新手,这个问题可能有点不必要。但是为了解决这个问题,他做了很多努力。然而,我还没有找到解决办法

那是主课。我在OnCreate方法之外生成了一个变量

public class MainActivity extends AppCompatActivity {

    private DrawerLayout mDrawerLayout;
    ExpandableListAdapter mMenuAdapter;
    ExpandableListView expandableList;
    List<ExpandedMenuModel> listDataHeader;
    HashMap<ExpandedMenuModel, List<String>> listDataChild;

    ActionBarDrawerToggle mDrawerToggle;

    Drawable drawable;

    WebView webView;
    Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_navigation_view);

        mDrawerToggle.setDrawerIndicatorEnabled(false);

        drawable = ResourcesCompat.getDrawable(getResources(),   R.drawable.ic_menu_gallery, getTheme());

        mDrawerToggle.setHomeAsUpIndicator(drawable);
        mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
                    mDrawerLayout.closeDrawer(GravityCompat.START);
                } else {
                    mDrawerLayout.openDrawer(GravityCompat.START);
                }
            }
        });

        ........
public类MainActivity扩展了AppCompatActivity{
私人抽屉布局mDrawerLayout;
可扩展列表适配器;
可扩展列表查看可扩展列表;
列表列表数据头;
HashMapListDataChild;
ActionBarDrawerToggle mDrawerToggle;
可拉伸;
网络视图;
工具栏;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u navigation\u视图);
mDrawerToggle.setDrawerIndicatorEnabled(false);
drawable=ResourcesCompat.getDrawable(getResources(),R.drawable.ic_菜单_gallery,getTheme());
mDrawerToggle.setHomeAsUpIndicator(可绘制);
mDrawerToggle.setToolbarNavigationClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
if(mDrawerLayout.isDrawervible(GravityCompat.START)){
mDrawerLayout.closeDrawer(重力compat.START);
}否则{
mDrawerLayout.openDrawer(重力compat.START);
}
}
});
........

您尚未将值分配给:

mDrawerToggle
在对其调用
setDrawerIndicatorEnabled
之前,请执行以下操作:

mDrawerToggle.setDrawerIndicatorEnabled(false);

要了解更多信息,请检查此

我不是在方法之外执行的吗?否,请参阅此处:如何实现它
mDrawerToggle = ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close);
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
                    mDrawerLayout.closeDrawer(GravityCompat.START);
                } else {
                    mDrawerLayout.openDrawer(GravityCompat.START);
                }
            }
        });
mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_menu_gallery);