ListView中的getView Android停止工作并仅显示第一个数据

时间:2014-01-20 22:23:31

标签: java android listview

我在一些文件中做了一些更改(不是那些我遇到问题的文件 - 或者我是这么认为)而且我的ListView停止了工作。问题在于,尽管作为参数传递的数据是正确的,但ListView仅生成0位置。

然而,我无法理解为什么。这是我的代码:

public BussinessAdapter(Context context, ArrayList<BussinessListClass> listData) {
        this.listbussiness = listData;

        System.out.println("Business Adapter : Result :"+listData.toString());
        layoutInflater = LayoutInflater.from(context);
        options = new DisplayImageOptions.Builder().resetViewBeforeLoading(true)
                .cacheInMemory(true).cacheOnDisc(true).displayer(new RoundedBitmapDisplayer(20)).build();
        imageloader = ImageLoader.getInstance();
        imageloader.init(ImageLoaderConfiguration.createDefault(context));

    }   

    @Override
    public int getCount() {
        System.out.println("Total number is:"+listbussiness.size());
        return listbussiness.size();
    }

    @Override
    public Object getItem(int position) {
        return listbussiness.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        System.out.println("Called at position :" + position);
        holder = new ViewHolder();

        if (convertView == null) {
            convertView = layoutInflater.inflate(R.layout.bussinesslist, null);
            holder.name = (TextView) convertView.findViewById(R.id.name);
            holder.title = (TextView) convertView.findViewById(R.id.titleNearby);           
            holder.imageView = (ImageButton) convertView.findViewById(R.id.thumbImageNearby);

            convertView.setTag(holder);

        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        BussinessListClass item = (BussinessListClass) listbussiness.get(position);

        holder.name.setText(item.getName());
        holder.title.setText(item.getTitle());

        if (holder.imageView != null) {

            holder.imageView.setTag(item.getPhoto() + item.getName());
            imageloader.displayImage(item.getPhoto(), holder.imageView, options, animateFirstListener);


        }
return convertView;
    }

奇怪的是:

  • 正确打印数据
  • 在getCount中我看到4,这是ArrayList的大小
  • 但只为位置0调用getView。

任何人都可以帮助我吗?它曾经用于最后的weeek:/

解决方案:问题出现在xml中,我的身高超过了10倍,所以我认为只有1个项目,但这是因为我必须滚动并滚动查看其他项目。

1 个答案:

答案 0 :(得分:0)

你改变了listview的大小,你可以滚动它并查看更多项目。它可能只调用一个位置,它只能在任何时候显示