DrawerLayout使用问题 哪里有问题 点击图片后停止运行并报错 5C

错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.widget.DrawerLayout.openDrawer(android.view.View)' on a null object reference
at com.cy.mynj.com.cy.mynj.activities.MainActivity.onClick(MainActivity.java:57)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20300)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5682)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//左边栏
private List mList = new ArrayList();
private ListView mListView;
DrawerLayout mDrawerLayout;
//
private ImageView iv_left;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initData();
    initViews();
}

private void initData() {
    mList.add(new ContentModel(R.drawable.weather_icons, "天气", 1));
    mList.add(new ContentModel(R.drawable.scenic_spot_icon, "本地美景", 2));
    mList.add(new ContentModel(R.drawable.bus_icon, "交通", 3));
    mList.add(new ContentModel(R.drawable.security_icon, "社保", 4));
    mList.add(new ContentModel(R.drawable.insurance_icon, "医疗", 5));
    mList.add(new ContentModel(R.drawable.ciziten_card_icon, "市民卡", 6));
    mList.add(new ContentModel(R.drawable.employ_icon, "招聘", 7));
    mList.add(new ContentModel(R.drawable.news_icon, "新闻", 8));
}
private void initViews(){
    mListView = (ListView) findViewById(R.id.left_listview);
    ContentAdapter adapter = new ContentAdapter(this,mList);
    mListView.setAdapter(adapter);

    iv_left = (ImageView)findViewById(R.id.leftmenu);
    iv_left.setOnClickListener(this);

}

@Override
public void onClick(View view) {
    switch (view.getId()){
        case R.id.leftmenu:
            **mDrawerLayout.openDrawer(Gravity.LEFT);**
            break;
        default:
            break;
    }
}

}

0

8个回答

在initViews里面初始化mDrawerLayout = findViewById()

0

要这样写drawerLayout.openDrawer(drawerContent);,你的布局里面必须有一个drawerContent,而且这个drawerContent只能有一层包裹

0

mDrawerLayout没有初始化findViewById

0

*mDrawerLayout.openDrawer(Gravity.LEFT);

这个东西没有初始化

-1

检查下代码的57行
我粗略观察你的代码,应该是你没有初始化listview就直接mList.add了,你检查下是不是

private ListView mListView;

mList.add();

-1

mDrawerLayout 这个没有赋值,是空的

-1

mDrawerLayout 貌似没有 findViewById的操作

-1

at com.cy.mynj.com.cy.mynj.activities.MainActivity.onClick(MainActivity.java:57)看看你的代码的57行,如果没错的,应该是没有初始化

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
DrawerLayout使用中的一些小问题
DrawerLayout使用中的一些小问题 drawerlayout的用法,网上有好多讲解的,可以看看官方侧滑菜单DrawerLayout的使用 还有官网API 现对在使用的过程中,自己遇到的一些小问题做个总结。 1.侧边栏布局中必须声明layout_gravity=”start/left” RelativeLayout xmlns:android="http://schemas.an
Android 使用Drawerlayout时遇到的问题以及解决方案
项目中需要在app左侧做一个抽屉,抽屉默认打开。 抽屉打开和关闭的时候,内容区域跟随移动 有一个按钮可以控制抽屉的打开和关闭 1.抽屉默认打开效果图: 2.抽屉关闭效果图: 现在说一下遇到的问题: 1.抽屉打开的时候,内容区域变暗 解决办法:mDrawerLayout.setScrimColor(Color.TRANSPARENT); 2.抽屉打开关闭的时候,内容区域位置不动 解决办法:给dra...
Android DrawerLayout侧滑菜单滑出不完全问题
 侧滑菜单UI刷新时滑出会有滑出不完全的问题,使用drawerLayout().post即可 drawerLayout().openDrawer(Gravity.END); 改为 drawerLayout().post(new Runnable() { @Override public void run() { drawerLayout().openDra...
DrawerLayout实现侧滑菜单运行时闪退
今天使用DrawerLayout实现侧滑菜单时,出现了闪退问题,logcat报错如下E/AndroidRuntime: FATAL EXCEPTION: main Process: com.map_demo.lixio, PID: 4675 java.lang.RuntimeException: Unable to start...
DrawerLayout点击事件穿透到底部的解决方法
适应环境:    使用侧拉框的时候,拉出来点击,底部的点击事件依然相应;使用方法:    drawer_layout.setDrawerListener(new DrawerLayout.DrawerListener() {      @Override      public void onDrawerSlide(View drawerView, float slideOffset) {    ...
使用DrawerLayout过程中主页面内容被遮住且不能点击的一小解决方案
前几天,公司一同事让我帮忙解决用DrawerLayout时,DrawerLayout的侧边栏有种像Dialog那样的遮罩效果,而且主页面内容点击不了,他要实现的功能是:去掉遮罩效果,并且主页面内容例如Button之类的能够点击,并且触发点击时,侧边栏不能自动关闭,另外还要有常用的可以滑动侧边栏关闭侧边栏,点击侧边栏的item要能够触发相应的事件的效果,于是就有了以下的博客
DrawerLayout 侧滑栏点击事件穿透
使用DrawerLayout实现侧滑栏功能时,点击侧滑栏空白处时,主界面会获得事件。 解决方法:侧滑栏布局添加 android:clickable=”true” 转自:https://www.cnblogs.com/xch-yang/p/6950982.html...
侧滑菜单drawerlayout的使用和一些小问题
要在项目中加入drawerlayout侧滑,首先要定义好xml布局: (注意:跟根布局要为DrawerLayout,第一个子布局要为主菜单(不是的话,会出现侧滑菜单控件无法点击,点击左菜单,关闭左菜单)左滑或者右滑菜单可以在根据 android:layout_gravity=""定义) xml version="1.0" encoding="utf-8"?> android.supp
Android:Drawerlayout中back键直接退出的问题
Android:Drawerlayout中back键直接退出的问题 Drawerlayout是官方推荐的用于生成侧滑样式的布局控件,但是在打开侧滑菜单后点击手机的back(后退)键后,并不是把侧滑菜单隐藏而是退出当前的Activity 返回到上一个Activity。我们希望点击back后并不是退出当前Activity而是隐藏侧滑菜单。 我们只需要重写onBackPressed
完美解决DrawerLayout抽屉实现不能点击后面的控件
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 主界面布局 --> <LinearLayout > ... </LinearLayout> <!-- 右侧菜单布局 --> <R
DrawerLayout侧滑菜单、Toolbar和沉浸式状态栏的使用
最近在开发中需要用到侧滑菜单,以前使用的SlidingMenu,但似乎已经被Google淘汰了(过时了),于是乎使用了DrawerLayout来实现,既然是在项目使用的,那么Toolbar和沉浸式状态栏也是要配合使用的,这里做一下记录。 我们先来看一看效果,这里是用模拟器实现的,效果不太好,真机上没问题。 一、沉浸式状态栏其实挺简单的,网上也很多,为了兼容低版本的手机可以先通过判断版本再来设置,
DrawerLayout去除阴影,阴影部分点击不关闭抽屉并可以触发相关view,抽屉侧滑可响应关闭
DrawerLayout去除阴影,阴影部分点击不关闭抽屉并可以触发相关view,抽屉侧滑可响应关闭
WC终于弄懂为什么DrawerLayout不显示了,太特么坑了!
按照第一行代码中的教程写,把TextView放到DrawerLayout的第二个字布局的时候,不管怎么点、滑动都显示不出来。我一直以为是DrawerLayout没有生效,找了好多网上、参考了好多教程从头看都没作用,后来才发现,原来是TextView里面什么都没写,所以是空的!到底是自己懒呢,还是设计问题呢,总之太特么坑了! 还有就是确实很多地方都很坑,明明这里应该使用layout_gravity...
关于ActiveMQ启动过程中闪退的问题
Mark一下 ,最近在学习使用Active的过程中,在启动MQ的时候,activemq.bat在启动起来之后一点时间就开始闪退,最后找到了解决方案,特此mark一下:https://blog.csdn.net/xiaobao5214/article/details/52222655 原地址。采用的办法就是:停止ICS服务,cmd里输入services.msc找到Internet Connectio...
DrawerLayout中侧边栏NavigationView沉浸式状态栏无效问题
工作总结 针对DrawerLayout中侧边栏NavigationView沉浸式状态栏无效问题,疏忽了一个问题,需要设置Activity的Style中 true 属性,同时在设置NavigationView属性为 android:fitsSystemWindows="true",即可完成沉浸式状态栏效果 设置下列效果 效果 设置Activity的布局中的父布局android:fitsSys
侧滑抽屉布局-DrawerLayout的初体验.关于点击侧滑区域就关闭的问题.
近来在做一个平板的项目.讲道理,平板的横布局,让我这经常写手机APP的有点不适应-.-;调试只能在真机,因为AS的布局预览里根本显示不全好嘛…废话不多说,有个功能用到了侧滑效果,需要从布局左往右滑出.记得鸿神博客里提过有个组件叫DrawerLayout,于是在布局里就尝试了下.总体来说体验还很好.代码是最好的老师,上干货.首先是XML文件 <android.support.v4.widget
Android DrawerLayout 空白区域点击穿透问题最简单解决方案
今天在改小伙伴写的bug时,遇到了一个奇葩的问题,点击DrawerLayout中的空白处的时候,底部的content会获得事件,并且相应。 网上大多数的实例是DrawerLayout+listView或者DrawerLayout+NavigationView 写的,listView or RecyView 或者 NavigationView 会获得焦点,事件不会往下传递。 偏偏不巧的是,小伙伴...
DrawerLayout 空白区域点击穿透问题
版权声明:本文来自 Crocutax 的博客 , 转载请注明出处 http://crocutax.com 最近的项目里需要使用到侧滑布局,SlidingMenu 、自定义侧滑布局、 DrawerLayout都可以实现,前两种都已经尝试过了,最近1年多时间做项目都是使用底部导航栏,没有用到侧滑布局,DrawerLayout也一直没有去尝试,正好借此机会用一下。mainlayout 和 drawerla
android 关于使用SlidingMenu过程中出现卡顿现象的解决办法
在使用过程中意外碰到使用SlidingMenu过程中出现卡顿现象,在网上查了好多都没解决,最终自己找发现是SlidingMenu中动画模块有点问题。 首先点击 SlidingMenu的showMenu()方法可以看到 调用了下面带参数boolean animate的方法,我就先试着在点击按钮执行showMenu的方法时直接调用带参数的方法,由于它默认是true,所以我试着调用showMenu(f
Android DrawerLayout侧滑页面点击事件无响应注意事项
直接上代码 android.support.v4.widget.DrawerLayout android:id="@+id/drl" android:layout_width="match_parent" android:layout_height="match_parent"> RelativeLayout
解决DrawerLayout以及viewpager点击或者滑动后卡顿的问题
编写这个模仿知乎日报的App时主界面采用了DrawerLayout使左侧包含一个抽屉菜单,在阅读日报的界面采用viewpager保证可以左右滑动,这里遇到了一个同样的问题,就是在DrawerLayout点击后就会开始加载网络数据,同样viewpager滑动后也会开始加载网络数据,而加载网络数据时会阻塞一下主线程,到时抽屉菜单或阅读界面还没有完全滑动完成时就会卡一下,用户体验很不好,在这里需要引入个
android DrawerLayout 点击穿透、点击自身消失等问题解决
问题1:在DrawerLayout内部中点击,DrawerLayout的布局莫名消失。解决1:DrawerLayout的布局必须放在页面主布局的下面。To use a DrawerLayout, position your primary content view as the first child with a width and height of match_parent. Add draw
Bmob 初始化 程序停止运行解决方法
因为要做一个购物市场的android项目,了解到有Bmob这个东西,文档案例各方面都挺齐全,兴冲冲地就尝鲜了一番。按照官网快速入门的文档先把环境配置好,Build-->Run,结果模拟器屏幕一黑程序就炸了。。。 先来说下我的环境: IDE 是 AndroidStudio 1.5.1(有点旧了) Android SDK版本是23, JDK1.7 Bmob SDK版本是:BmobSDK
如何解决DrawerLayout打开时, main content view 中的按钮仍然可以被点击的问题?
最近开发的一个应用 ,使用了Android官方的控件DrawerLayout。 但是DrawerLayout打开的时候,main content view 中的按钮仍然可以点击。 解决方法如下: 在 navigation drawer中添加属性  android:clickable="true" <android.support.v4.widget.DrawerLayout
关于使用DrawerLayout建立侧滑菜单时,下层布局依然可响应点击事件的解决方法
如标题所述,当使用DrawerLayout建立侧滑菜单时,如果主布局是个listView或者其他可点击的控件,那么,当侧滑菜单被滑出来时,正常情况来说,点击侧滑菜单任何地方,应该和下层被遮盖一部分的主布局没有关系,自然下层的主布局不会响应点击事件,但是实际上,当侧滑菜单被滑出来时,下层被遮盖住的主布局依然可以响应点击事件,当时想,应该和侧滑菜单的焦点获取有关,于是把listView的焦点设为fal
设置DrawerLayout不可以点击后面的控件
设置DrawerLayout不可以点击后面的控件DrawerLayout可以点击后面的控件DrawerLayout点击事件穿透今天写了一个这样的的UI 左半部分黑色的是一个DrawerLayout. UI的布局大致是这个样子的:<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/a
SDCycleScrollView使用中遇到的问题
下载链接:https://github.com/gsdios/SDCycleScrollView SDCycleScrollView是一个很好用的无限循环自动图片轮播器,采用了UICollectionView的重用机制和循环滚动的方式来实现图片的无限轮播,只需要很少的代码就能实现很棒的轮播效果,没有使用UIScrollView时出现的从最后一页跳到第一页时的卡顿状态。 //
DrawerLayout 的点击事件
package news1510a.bawei.com.a11_drawer_layout_demo; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.
DrawerLayout侧滑布局点击不响应事件
drawerlayout必须放在主界面布局后面google的api是这样写的:To use a DrawerLayout, position your primary content view as the first child with a width and height of match_parent. Add drawers as child views after the main c
Storm任务常见问题总结
  内存泄漏[OOM] 容器类使用不当,导致对象无限增加。     线程泄漏 修复前后对比,正常情况下100-200个线程之间就足够了。  通过命令快速查看进程的线程数量   ,  ps hH p &amp;lt;pid&amp;gt; | wc -l,这个命令查看一个进程(用H选项)的线程数 for i in `ps aux | grep -v grep | grep java | aw...
SS不能在Win7中打开,出现停止运行
一次,在Win7上不能打开SS,经过搜索,好像SS的win客户端使用.net frame4.6.2开发,但是Win7根本安装不了该版本的.net,所以...,重新安装Win10.
DrawerLayout——使用DrawerLayout点击左侧菜单时右侧也能监听到点击事件
在使用侧滑控件DrawerLayout时,点击左侧菜单右侧也能监听到点击事件,那么如何屏蔽 在DrawerLayout的.xml布局中添加android:clickable=&amp;amp;quot;true&amp;amp;quot; 这种我试了,不好用,但是有人说好用 在代码里设置DrawerLayout的监听事件DrawerListener的onDrawerOpened方法中设置paramView.setClickable(true);...
DrawerLayout去除内容阴影,点击内容不关闭抽屉,抽屉默认打开,抽屉滑动时内容区域跟随移动
DrawerLayout去除内容阴影,点击内容不关闭抽屉,抽屉默认打开,抽屉滑动时内容区域跟随移动
Android中实现简单的DrawerLayout和点击跳转
//布局文件 &amp;amp;lt;android.support.v4.widget.DrawerLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot; xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot; android:id=&amp;quot;@+id/drawer&amp;quot; android:layo
Intent 的隐式跳转总是崩溃的问题(已解决)
显示跳转主要是用在应用内的界面跳转,而隐式跳转一般用于跨应用跳转,如跳转到选取联系人信息或系统相册界面等。
NavigationView下Menu点击切换Fragment的卡顿解决方法
项目中用到侧滑导航,点击导航切换Fragment时,菜单回弹会有很明显的卡顿。 首先想到的是Fragment的优化,是不是Fragment在OnCreateView的时候做了太多的工作。 方案1:将Fragment中的布局移出去,使用ViewStub预加载布局,在onCreateView时不对布局进行加载。在Fragment的onResume时使用viewStub.inflate()加载布局
解决DrawerLayout不能全屏滑动的问题
前言对于如下效果的侧边菜单栏,android SDK提供了DrawerLayout这个控件可以完美的实现,但是有一个问题,使用这个控件之后只能从左侧(或者右侧)边缘滑动才能显示菜单栏。 解决办法如果想要全屏实现右滑出现菜单,只需要如下两步:一、 添加下面的代码private void setDrawerLeftEdgeSize (Activity activity, DrawerLayout dr
运行exe停止工作的一个问题
exe停止工作,点开详细信息,发现: 故障模块名称 KERNELBASE.dll。 然而这个信息好像并没有什么用。 点击调试,在VS中发现报错信息: “xxx.Program”的类型初始值设定项引发异常。 这个信息好像也没有用,因为代码是没有问题的,在另一个地方可以运行。 最后发现是引用的NPOI.dll的版本问题。 换了一份NPOI的dll包就不报错了。 也就是说
使用DrawerLayout和Toolbar实现的侧滑菜单修改默认图标
两步: 1,设置ActionBarDrawerToggletoggle.setDrawerIndicatorEnabled(false);2,设置Toolbar toolbar.setNavigationIcon(R.drawable.homepersonal);其他不变,加这两行代码
DrawerLayout实现侧滑布局问题总结
本片是对DrawerLayout使用的一个详细解析,也是对开发中遇到问题的一些总结。DrawerLayout是SupportLibrary中一个支持侧滑效果的控件,开发中主要是跟NavigationView+Toolbar配合来实现侧滑菜单,具体看效果。这个效果模板即可实现,这里简单做下使用讲解,重点不在这里。布局:<?xml version="1.0" encoding="utf-8"?> <an
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 云计算专业培训有哪些问题 区块链问题