一、运行中出现Resources$NotFoundException
//报错代码
TextView alreadyCompCount = (TextView)itemView.findViewById(R.id.tx_already_comp_count);
alreadyCompCount.setText(data.alreadyComp);
//关键报错android.content.res.Resources$NotFoundException: String resource ID #0x8
//正确语句
shouldCompCount.setText(String.valueOf(data.shouldBeComp));
开始误以为是tx_already_comp_count这个TextView资源找不到,经过clean project重新编译仍是运行中crash;最后才注意到是TextView.setText(int resourceId)语句传入的int类型值并不是资源id,应该进行格式的转化,直接传入String类型。
二、ListView的onItemClicked方法未触发
通常我们会通过setOnItemClickListener来设置列表的点击事件。如果出现点击列表的item,但并未触发onItemClicked方法,请注意检查adapter的isEnabled的方法的返回值是否为false。
只有potision对应的isEnable为true,onItemClicked方法才能被触发。
三、listview绘制过程中出现MobUncaughtExceptionHandler错误
错误截图如下:
错误日志.png
重新BaseAdapter时,因为需要实现多种布局,重写了getItemViewType和getViewTypeCount两个方法。但是getItemViewType返回值大于getViewTypeCount的返回值,导致该异常。
注意,getViewTypeCount方法的返回值取值范围是[0 ~ getViewTypeCount-1].