关于MainMenuAdapter适配的问题?
这一块都没看懂是添加了什么功能,onCreateViewHolder以及重写的方法,达到怎样的效果?
布局这一块没看懂,按照视频写了代码在运行接收getMainMenus时报错了,表现为过了闪屏页面直接停止运行,
在DataUtil.java和MainFragment.java中的两处报错。
1 2 3 4 5 6 7 8 | public static List<Menu> getMainMenus(int icons[], String names[]){ List <Menu>menus=new ArrayList<>(); for (int i=0;i<icons.length;i++){ Menu menu=new Menu(icons[i],names[i]);//这里 menus.add(menu); } return menus;} |
报错内容:"<10> Binder_2@831696185480" prio=5 runnable
java.lang.Thread.State: RUNNABLE
at dalvik.system.NativeStart.run(NativeStart.java:-1)
1 | MainMenuAdapter mainMenuAdapter=new MainMenuAdapter(getActivity(),DataUtil.getMainMenus(menusIcons,menus)); |
报错内容:
java.lang.Thread.State: RUNNABLE
at com.imooc.testend.fragment.MainFragment.onActivityCreated(MainFragment.java:49)
代码是一样的,目前还没找到问题所在……
正在回答
1、这部分代码作用?
这一块的代码都是在实现主菜单的效果。
2、ViewHolder的作用?
ViewHolder相当于一个临时的储存器,作用就是把你getView()方法中每次返回的View存起来,而不用每次用View的时候就得从布局文件中读取,提高程序的运行效率。
3、MainMenu的实现过程?
1)MainMenu用到的是RecyclerView,这个控件设置内容同样需要Adapter适配器,因此需要创建MainMenuAdapter继承RecyclerView的Adapter;
2)这个Adapter又需要ViewHolder泛型类型,故需要定义MainMenuViewHolder
3)onCreateViewHolder()回调方法就是在创建Viewholder的时候系统自动调用的,类似于Activity中的onCreate(),都是需要在这里面读取布局文件
4)布局文件有了,就可以通过布局文件往MainMenuViewHolder中设置相关view元素了。
4、报错问题:
先来查看你的DataUtil.java中调用getMainMenus()方法的地方参数传的有没有问题,icons[]数组有和names[]数组有没有在资源文件中添加并且被定义,你可以通过添加断点并且单步跟踪调试,跟踪一下这两个参数值。
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星