簡體   English   中英

Android-如何獲取ListView項目在絕對位置?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM