我在一些文件中做了一些更改(不是那些我遇到问题的文件 - 或者我是这么认为)而且我的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;
}
奇怪的是:
任何人都可以帮助我吗?它曾经用于最后的weeek:/
解决方案:问题出现在xml中,我的身高超过了10倍,所以我认为只有1个项目,但这是因为我必须滚动并滚动查看其他项目。
答案 0 :(得分:0)
你改变了listview的大小,你可以滚动它并查看更多项目。它可能只调用一个位置,它只能在任何时候显示