在一个Fragment中有一个ViewPager,ViewPager有两个页面,其中一个页面是列表页,使用了ListView,自定义了适配器,数据也确实能够查询到,但始终没有执行getView方法。这个ListView的height也是match__parent,但仍然无效
自定义的适配器:
public class BookListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private List<Book> mData;
public BookListAdapter(Context context,List<Book> bookList){
this.mInflater = LayoutInflater.from(context);
Log.i("ttg","开始执行适配器构造,当前booklist的数量为"+bookList.size());
mData=bookList;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
Log.i("ttg","开始执行getCount,当前mData的数量为"+mData.size());
notifyDataSetChanged();
return mData.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.i("ttg","调用getView");
ViewHolder holder = null;
if (convertView == null) {
holder=new ViewHolder();
convertView = mInflater.inflate(R.layout.booklist_item, null);
// holder.img = (NetworkImageView)convertView.findViewById(R.id.img);
holder.book_list_img = (ImageView) convertView.findViewById(R.id.book_list_img);
holder.book_list_bookname = (TextView)convertView.findViewById(R.id.book_list_bookname);
holder.book_list_author = (TextView)convertView.findViewById(R.id.book_list_author);
holder.book_list_publisher = (TextView)convertView.findViewById(R.id.book_list_publisher);
convertView.setTag(holder);
}else {
holder = (ViewHolder)convertView.getTag();
}
holder.book_list_bookname.setText((String)mData.get(position).getBookname());
holder.book_list_publisher.setText((String)mData.get(position).getPublisher());
holder.book_list_author.setText((String)mData.get(position).getAuthor());
Log.i("ttg","数据设置完成");
// holder.img.setImageUrl(mData.get(position).getPicture().getFileUrl(), imageLoader);
// 直接设置图片地址到NetworkImage,并将图片放入缓存
// holder.img.setDefaultImageResId(R.mipmap.ic_launcher); // 当图片还没加载出来时显示的图片
//BmobFile bmobFile=mData.get(position).getPicture();
//Toast.makeText(getActivity(),bmobFile.getFileUrl(), Toast.LENGTH_SHORT).show();
return convertView;
}
public final class ViewHolder{
public ImageView book_list_img;
public TextView book_list_bookname,book_list_author,book_list_publisher;
}
}
适配器会在数据查询之后与控件绑定:
BmobQuery<Book> query = new BmobQuery<>();
query.order("-createdAt");// 按照时间降序
Log.i("ttg", "开始查询数据");
query.findObjects(new FindListener<Book>() {
@Override
public void done(List<Book> list, BmobException e) {
Log.i("ttg", "查询完成,一共有" + list.size() + "条数据");
// for (int i=0;i<list.size();++i){
// Log.i("ttg","第"+i+"条数据:"+list.get(i).getBookname());
// }
book_list_view.setAdapter(new BookListAdapter(getContext(),list));