【问题标题】:Unable to add header in mikepenz material drawer无法在 mikepenz 材料抽屉中添加标题
【发布时间】:2016-11-30 18:04:16
【问题描述】:

我正在使用 mikepenz 材质抽屉库,但无法在材质抽屉中添加标题。以下是我的代码

在 gradle 中我使用了这个依赖

compile('com.mikepenz:materialdrawer:4.0.0@aar') {
    transitive = true
}

然后在 MainActivity.java 中,我使用了与他们的文档中相同的代码 sn-p。

AccountHeader headerresult = new AccountHeaderBuilder()
            .withActivity(this)
            .withHeaderBackground(R.drawable.sunlight_foundation)
            .addProfiles(
                    new ProfileDrawerItem().withName("Random Name").withEmail("random@gmail.com").withIcon(getResources().getDrawable(R.drawable.sunlight_foundation)),
            ).withOnAccountHeaderListener(new AccountHeader.OnAccountHeaderListener() {
                @Override
                public boolean onProfileChanged(View view, IProfile iProfile, boolean b) {
                    return false;

                }
            }).build();
//create the drawer and remember the `Drawer` result object
    final Drawer result = new DrawerBuilder()
            .withActivity(this)
            .withAccountHeader(headerresult)
            .withToolbar(toolbar)
            .build();

我得到了这个错误。

Process: com.example.rajni.congress, PID: 19041
                                                                        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.rajni.congress/com.example.rajni.congress.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.mikepenz.materialdrawer.adapter.BaseDrawerAdapter.addHeaderDrawerItems(com.mikepenz.materialdrawer.model.interfaces.IDrawerItem[])' on a null object reference
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
                                                                            at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:148)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                                         Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.mikepenz.materialdrawer.adapter.BaseDrawerAdapter.addHeaderDrawerItems(com.mikepenz.materialdrawer.model.interfaces.IDrawerItem[])' on a null object reference
                                                                            at com.mikepenz.materialdrawer.DrawerUtils.handleHeaderView(DrawerUtils.java:231)
                                                                            at com.mikepenz.materialdrawer.DrawerBuilder.createContent(DrawerBuilder.java:1446)
                                                                            at com.mikepenz.materialdrawer.DrawerBuilder.buildView(DrawerBuilder.java:1280)
                                                                            at com.mikepenz.materialdrawer.DrawerBuilder.build(DrawerBuilder.java:1152)
                                                                            at com.example.rajni.congress.MainActivity.onCreate(MainActivity.java:82)
                                                                            at android.app.Activity.performCreate(Activity.java:6259)
                                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
                                                                            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                            at android.os.Looper.loop(Looper.java:148) 
                                                                            at android.app.ActivityThread.main(ActivityThread.java:5443) 
                                                                            at java.lang.reflect.Method.invoke(Native Method)

任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: android material-design navigation-drawer


    【解决方案1】:

    在创建标题结果后尝试,甚至将您的个人资料设置为活动个人资料。

    像这样:

    headerresult.setActiveProfile(headerResult.getProfiles().get(0));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多