android - 如何获取当前在 AdapterView 中显示的项目?

标签 android view adapter

如标题:我想知道如何获取我的 AdapterView 中所有当前显示的项目的列表(数组)。
为什么?在我的 AdapterView 中显示的对象需要在用户关闭 AdapterView 后释放一个监听器。我需要这样做以优化我的应用程序。
或者是否有任何方法(我可以覆盖)在 View 销毁时执行?

最佳答案

实现 OnScrollListener

public class NewsCategoryDC extends Activity implements OnScrollListener {

在listView中设置OnScrollListener

listView.setOnScrollListener(NewsCategoryDC.this);

你可以得到第一个和最后一个可见行

@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
    firstVisibleRow = listView.getFirstVisiblePosition();
            lastVisibleRow = listView.getLastVisiblePosition();
/*Now you get the first and last visible rows, and you easily get the rows from first to last visible row and allocate resources to visible rows or deallocate resources to rows except visible rows..,.*/
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {}

试试这个..,.

如果你有其他最好的方法请发帖,这是非常有用和好问题..,.

谢谢..,.

编辑…………

在 onScroll() 方法中添加代码

@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
    int firstVisibleRow = listView.getFirstVisiblePosition();
    int lastVisibleRow = listView.getLastVisiblePosition();

    for(int i=firstVisibleRow;i<=lastVisibleRow;i++)
    {
        //Write your code here(allocation/deallocation/store in array etc.)
        System.out.println(i + "=" + listView.getItemAtPosition(i));
    }
}

关于android - 如何获取当前在 AdapterView 中显示的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130389/

相关文章:

mysql - 连接多个 mysql 表并分组

ios - swift : How can I resize the View Background Image?

ios - 在 iOS 中基于 Storyboard的应用程序中使用我的 View Controller

android - 无法使用自定义适配器理解 NullPointerException

java - 在搜寻检视中搜寻,与项目不符

android - 包重命名后 BackupAgent 失败

Android AbsListView$RecycleBin.addScrapView(AbsListView.java :6588)

java - Android Studio Activity 登录屏幕不显示密码字段并且不显示用户名字段文本

c++ - sprintf 错误 "variable may be unsafe"(C4996)... 替代方案?

android - 为什么我的 SVG 图像在设备 API 16 和 API 27 中看起来模糊