如何获得当前适配器视图中显示的项目?适配器、视图、如何获得、项目

2023-09-13 00:11:17 作者:[港岛少年- ]

正如标题:我想知道如何让我的适配器视图当前显示的所有产品清单(阵列)。 为什么?这显示在我的适配器视图对象需要释放监听用户关闭适配器视图后。我需要做的是,以优化我的应用程序。 或者是有什么方法(即我可以覆盖),这是对的意见毁灭执行?

解决方案

实现OnScrollListener

 公共类NewsCategoryDC扩展活动实现OnScrollListener {
 

和设置OnScrollListener中的ListView

  listView.setOnScrollListener(NewsCategoryDC.this);
 
亿通标准 电源适配器CEC认证所需资料

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

  @覆盖
公共无效onScroll(AbsListView观点,诠释firstVisibleItem,诠释visibleItemCount,诠释totalItemCount){
    firstVisibleRow = listView.getFirstVisiblePosition();
            lastVisibleRow = listView.getLastVisiblePosition();
/ *现在,你得到的第一个和最后一个可见行,你很容易地从第一行到最后一个可见行和资源分配给可见行或释放资源,但可见行的行..,。* /
}

@覆盖
公共无效onScrollStateChanged(AbsListView观点,诠释scrollState){}
 

试试这个..,。

如果你有请张贴一些其他的最好方式,这是非常有用的,好的问题..,。

谢谢..,。

编辑...........

增加code在onScroll()方法

  @覆盖
公共无效onScroll(AbsListView观点,诠释firstVisibleItem,诠释visibleItemCount,诠释totalItemCount){
    INT firstVisibleRow = listView.getFirstVisiblePosition();
    INT lastVisibleRow = listView.getLastVisiblePosition();

    对于(INT I = firstVisibleRow; I< = lastVisibleRow;我++)
    {
        //在这里写下您的code(分配/释放/存储阵列等)
        的System.out.println第(i +=+ listView.getItemAtPosition(ⅰ));
    }
}
 

As in title: I would like to know how to get list (array) of all currently displayed items in my AdapterView. Why? Objects that are displayed in my AdapterView require releasing a listener after user closes AdapterView. I need to do it in order to optimize my app. Or is there any method (that I could override) which is executed on views' destruction?

解决方案

implements OnScrollListener

public class NewsCategoryDC extends Activity implements OnScrollListener {

and set OnScrollListener in listView

listView.setOnScrollListener(NewsCategoryDC.this);

and you can get first and last visible rows

@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) {}

TRY THIS..,.

and if some other best way you got please post, this is very useful and good question..,.

Thanks..,.

EDIT............................

add code in onScroll() method

@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));
    }
}