ListView设置adapter时发现没有结果,经过调试发现没有走getview()方法。getview方法执行不到的原因就是你传递的参数为空。
public CourseAdapter(Context context, List<Course> courseList){
mContext=context;
//加载系统资源管理器
mlayoutInflater= (LayoutInflater)
mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.courseList=courseList;
Log.i(CourseAdapter.class.getSimpleName(),
String.valueOf(courseList.size()));
getCount();
}
@Override
public int getCount() {
Log.i(CourseAdapter.class.getSimpleName(), String.valueOf(courseList.size()));
return courseList.size();
}
在我这里就是getCount()方法处报错。size为0。而我在构造方法中进行log也显示参数不为空,奇了怪。经过反复调试才发现问题 。是由于我的全局变量courseList和 参数courseList重名,而没有添加this导致。
由此可以得到:初始化的时候无论重名或者不重名尽量添加this,还有就是
构造函数初始化的时候如果重名会指向本身所在的位置。
遇到问题不要慌,慢慢调试慢慢找。