豆子2018 2019-06-14 10:40 采纳率: 0%
浏览 480

求助,ListView没有执行getView方法

在一个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));
  • 写回答

3条回答 默认 最新

  • Jimmy_buer 2019-06-14 15:35
    关注

    adapter中掉用notifyItemChanged,试一下.

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况