android listview position的值为什么都是0?

曌孤寒 发布于 2013/03/26 15:04
阅读 4K+
收藏 0

写了一个listview的适配器 但是不知道为什么一直都只能显示一条数据,而且position的值一直都是0,部分代码如下:

flightListviewAdapter = new FlightBookFindResultListViewAdapter(this, hmListviewFlightAdpter);//new 一个适配器
listView.setAdapter(flightListviewAdapter);//为listview设置适配器
listView.setOnItemClickListener(new OnItemClickListener() {

..........}//相应listItem的事件

public class FlightBookFindResultListViewAdapter extends BaseAdapter{
private Context context;
private ArrayList<HashMap<String, String>> list;

public FlightBookFindResultListViewAdapter(Context context,
ArrayList<HashMap<String, String>> list) {
// TODO Auto-generated constructor stub
this.context = context;
this.list = list;
}


public int getCount() {
// TODO Auto-generated method stub
return list.size();
}


public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}


public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}


public View getView(final int position, View convertView,
ViewGroup parent) {
Log.i("position -->>",String.valueOf(position));
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.flight_booking_search_listitem_adapter, null);
}
// 取得文件中的控件
TextView fcompany = (TextView) convertView
.findViewById(R.id.flight_listview_company);
if (position == list.size()) {

} else {
// 为各个控件匹配数据
fcompany.setText(list.get(position).get("company"));
}
return convertView;
}

}

这里打印出来的position的值一直都是零 不知道为什么?哪位大侠知道原因啊?

加载中
0
cookqq
cookqq
listview的适配器其他的代码呢?
曌孤寒
曌孤寒
其他部分的代码传上去了,麻烦你看一下 谢谢~~
0
cookqq
cookqq
hmListviewFlightAdpter这是什么类型啊?是保存的数据吗?如果是保存的数据,单从你上面的代码没有看出问题啊
曌孤寒
曌孤寒
这是一个存放HashMap的链表ArrayList<HashMap<String, String>>() 也就是适配器里面的这一个东西 private ArrayList<HashMap<String, String>> list;
0
尐帥鱼
尐帥鱼
把list也打印出来看看  是不是本来就一条数据
曌孤寒
曌孤寒
我在带代码中加入这一两条语句 打印出来的值是不同的 Log.i("list -->>",list.get(position).get("company")); Log.i("list -->>",list.get(position+1).get("company"));
0
你不认识丶
你不认识丶
应该是你list里面的数据问题,可能只有一条
曌孤寒
曌孤寒
我在带代码中加入这一两条语句 Log.i("list -->>",list.get(position).get("company")); Log.i("list -->>",list.get(position+1).get("company")); 打印出来的值是不同的,这就说明链表中不止一条数据~
0
StackHolder
StackHolder

朋友,你这问题咋回事,解决了没有?

 

我也遇到这问题,很神奇的问题。

StackHolder
StackHolder
我解决我的问题了,我这边是因为VScrolView里面加载的带有ListView的页面,导致了出问题,后来我 自己重新实现了一个ListView,自己重写了个 设置高度的方法,即: 适配器item.height *元素数+ 间距的个数 ,问题就解决了。
曌孤寒
曌孤寒
我的问题是因为写界面的XML文件引起的,你检查一下你的XML页面,当时,因为布局文件不是我写的,所以我纠结代码好久,后来写界面的哪一个人改了布局文件,就没有问题了。所以具体的原因我也不是很清楚,我就是听他说好像是scrollView的原因。
0
han_beilef
han_beilef

不能包裹scrollView

返回顶部
顶部