Java ListView Android中的getView停止工作,只显示第一个数据

Java ListView Android中的getView停止工作,只显示第一个数据,java,android,listview,Java,Android,Listview,我在一些文件中做了一些更改(不是我遇到问题的文件——或者我认为是的),结果我的ListView突然停止了工作。问题在于,尽管作为参数传递的数据正确,但ListView只生成0位置 然而,我无法理解为什么。这是我的密码: public BussinessAdapter(Context context, ArrayList<BussinessListClass> listData) { this.listbussiness = listData; Sys

我在一些文件中做了一些更改(不是我遇到问题的文件——或者我认为是的),结果我的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;
    }
公共业务适配器(上下文,ArrayList listData){ this.listbussiness=listData; System.out.println(“业务适配器:结果:+listData.toString()); layoutInflater=layoutInflater.from(上下文); options=new DisplayImageOptions.Builder().resetViewBeforeLoading(真) .cacheInMemory(true).cacheOnDisc(true).displayer(新的RoundedBitmapDisplayer(20)).build(); imageloader=imageloader.getInstance(); init(ImageLoaderConfiguration.createDefault(上下文)); } @凌驾 public int getCount(){ System.out.println(“总数为:“+listbussiness.size()); 返回listbusiness.size(); } @凌驾 公共对象getItem(int位置){ 返回listbussiness.get(位置); } @凌驾 公共长getItemId(int位置){ 返回位置; } @凌驾 公共视图getView(最终整数位置、视图转换视图、视图组父视图){ //TODO自动生成的方法存根 System.out.println(“在位置:+位置调用”); holder=新的ViewHolder(); if(convertView==null){ convertView=LayoutFlater.inflate(R.layout.businessList,null); holder.name=(TextView)convertView.findViewById(R.id.name); holder.title=(TextView)convertView.findViewById(R.id.titleNearby); holder.imageView=(ImageButton)convertView.findViewById(R.id.ThumbImageNearly); convertView.setTag(支架); }否则{ holder=(ViewHolder)convertView.getTag(); } businessListClass项=(businessListClass)listBusiness.get(位置); holder.name.setText(item.getName()); holder.title.setText(item.getTitle()); if(holder.imageView!=null){ holder.imageView.setTag(item.getPhoto()+item.getName()); displayImage(item.getPhoto(),holder.imageView,options,animateFirstListener); } 返回视图; } 奇怪的是:

  • 数据正在正确打印出来
  • 在getCount中,我确实看到了4,这是ArrayList的大小
  • 但是getView只在位置0时被调用
有人能帮我吗?它上个星期曾经工作过:/


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

是否更改了listview的大小,是否可以滚动查看更多项目。它可能只调用一个位置,并且它只能显示在任何时候使用git bisect查找错误的提交,甚至错误的行,然后修复它或在不理解它为什么会导致此问题时发布它。您是否更改了listview的大小,你能滚动它并看到更多的项目吗?我看不到代码中的差异——奇怪的是,如果我从市场下载我的应用程序,它会正常播放。我需要调试它的帮助。@PulkitSethi是的,就是这样!回答这个问题,我就会接受它——我只需要滚动到最底部M就可以看到数据,xml中一定有什么东西改变了我的listview高度。@ghostrider完成了。谢谢