关于使用SlidingMenu时踩过的几个坑~~~
来源:互联网 发布:考研数学网络课程 编辑:程序博客网 时间:2024/06/05 20:11
第一个错误:
Caused by: java.lang.IllegalStateException: Both setBehindContentView must be called in onCreate in addition to setContentView。
at com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityHelper.onPostCreate(SlidingActivityHelper.java:55)
at com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity.onPostCreate(SlidingFragmentActivity.java:31)
at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1187)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2537)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2659)
at android.app.ActivityThread.access$1000(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1467)
所以,我这里大概列举了上述情况下应该贴加的Demo,借鉴一下:
SlidingLeftFragment slidingLeftFragment = new SlidingLeftFragment();
slidingMenu = getSlidingMenu();
setBehindContentView(R.layout.left_menu_frame);
slidingMenu.setMode(SlidingMenu.LEFT);// 设置左右滑菜单
slidingMenu.setTouchModeAbove(SlidingMenu.SLIDING_WINDOW);// 设置要使菜单滑动,触碰屏幕的范围
// slidingMenuView.setTouchModeBehind(SlidingMenu.SLIDING_CONTENT);//设置了这个会获取不到菜单里面的焦点,所以先注释掉
slidingMenu.setShadowWidthRes(R.dimen.shadow_width);// 设置阴影图片的宽度
slidingMenu.setShadowDrawable(R.drawable.shadow);// 设置阴影图片
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// SlidingMenu划出时主页面显示的剩余宽度
slidingMenu.setFadeDegree(0.35F);// SlidingMenu滑动时的渐变程度
getSupportFragmentManager().beginTransaction().replace(R.id.id_left_menu_frame, slidingLeftFragment).commit();
第二个错误:
Caused by: java.lang.IllegalStateException: This SlidingMenu appears to already be attached
at com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.attachToActivity(SlidingMenu.java:271)at com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.attachToActivity(SlidingMenu.java:256)
at com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityHelper.onPostCreate(SlidingActivityHelper.java:61)
at com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity.onPostCreate(SlidingFragmentActivity.java:31)
at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1187)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2537)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2659)
at android.app.ActivityThread.access$1000(ActivityThread.java:169)
解决方案:出现这种错误是因为slidingmenu前面已经依附在对应的fragment上了,所以应该把
slidingMenu.attachToActivity(activity, SlidingMenu.SLIDING_WINDOW);这句Demo注掉!!!
第三个错误:
java.lang.ClassCastException: com.gang.hoperun.quicknews.MainActivity cannot be cast to com.gang.hoperun.quicknews.BaseActivity
at com.gang.hoperun.fragment.NewsFragment.enterDetailActivity(NewsFragment.java:222)at com.gang.hoperun.fragment.NewsFragment.onItemClick(NewsFragment.java:210)
at android.widget.AdapterView.performItemClick(AdapterView.java:305)
at android.widget.AbsListView.performItemClick(AbsListView.java:1179)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3093)
at android.widget.AbsListView$3.run(AbsListView.java:3922)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:159)
解决方案:出现这种错误是因为:activityA跳转到activityB的过程中,因为activityA继承自slidingActivity或者slidingFragmentActivity,而activityB却继承自AppComcatActivity,所以才导致这种错误。
该如何解决就再不用多说了吧,好,就到这里了!!!
下面列出一些关于slidingmenu的一些属性方法:
//设置侧滑菜单的位置,可选值LEFT , RIGHT , LEFT_RIGHT (两边都有菜单时设置)
menu.setMode(SlidingMenu.LEFT_RIGHT);
// 设置触摸屏幕的模式,可选只MARGIN , CONTENT
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
//根据dimension资源文件的ID来设置阴影的宽度
menu.setShadowWidthRes(R.dimen.shadow_width);
//根据资源文件ID来设置滑动菜单的阴影效果
menu.setShadowDrawable(R.drawable.shadow);
// 这两个都是设置滑动菜单视图的宽度,二选一
//设置SlidingMenu离屏幕的偏移量
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
//设置宽度
menu.setBehindWidth()
// 设置渐入渐出效果的值
menu.setFadeDegree(0.35f);
//设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1
menu.setBehindScrollScale(1.0f);
//设置二级菜单的阴影效果
menu.setSecondaryShadowDrawable(R.drawable.shadow);
//设置右边(二级)侧滑菜单
menu.setSecondaryMenu(R.layout.right_menu_frame);
//为侧滑菜单设置布局
menu.setMenu(R.layout.leftmenu);
//把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT , SLIDING_WINDOW
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
- 关于使用SlidingMenu时踩过的几个坑~~~
- 关于slidingmenu的使用
- 关于SlidingMenu的使用
- 关于侧滑SlidingMenu的使用
- 使用new char[]遇到过的几个坑
- 在线图片裁剪,关于使用cropperjs踩过的坑
- 关于使用BigDecimal类踩过的一些坑...
- 关于Slidingmenu的若干问题
- 关于使用开源项目SlidingMenu的问题
- 关于侧滑SlidingMenu的简单使用步骤
- redis集群搭建过程中踩过的几个坑
- android slidingmenu的使用
- SlidingMenu的使用例子
- slidingMenu的使用
- SlidingMenu的使用
- slidingMenu的使用教程
- SlidingMenu的使用
- slidingMenu的使用教程
- iOS 使用AFNetworking传递复杂的POST参数(数组、键值对)
- PAT_1023 组个最小数
- 杭电1017 之 A Mathematical Curiosity
- 控制标记 flag
- 查看 KeyStore 文件详细信息命令
- 关于使用SlidingMenu时踩过的几个坑~~~
- 打造炫酷通用的ViewPager指示器
- 加密算法
- Linux 设备驱动开发 — platform设备驱动应用实例解析
- 七.Spring AOP 之增强
- 继承与组合混搭的构造和析构
- 基础c语言程序设计2
- js中,一个js中的函数,第一句var thiz = this; 为什么要这样做?
- 如何在O(N)的时间复杂度内找出数组中出现次数超过了一半的数