[英]Android - How to get ListView item at absolute position?
因此,ListView Adapter具有getView方法,並且每次更改列表視圖的顯示時都會調用它...因此,第0個元素成為視口中的第一個元素。 我認為...
我如何基本上訪問Listview中的0TH元素? 不是視口中的第一個元素? 整個ListView中的第一個元素? 我想按絕對索引訪問元素,所以無論哪個可見,我都希望基於ListView中的元素訪問它們。
我該怎么做呢?
您無法按索引訪問ListView
的任何View
,因為它正在回收它們,並且除了您看到的視圖和一些緩存外,基本上沒有其他視圖。
實際上,您不應該這樣做。 如果要處理ListView
的數據,請通過Adapter
更改基礎集合,因此在Adapter
重寫getView()
,您可以決定如何呈現特定視圖(在您的情況下要設置的背景顏色)。
因此,您將獲得以下內容:
private class Item {
Color getBgColor {...}
}
private class MyAdapter extends BaseAdapter { // or WhateverAdapter you have
Item getItem(int id) {...}
public View getView(int position, View convertView, ViewGroup parent) {
...
convertView.setBackgroundColor(getItem(position).getBgColor());
return convertView;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.