`
gaosililn
  • 浏览: 73415 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ListView获取只显示在屏幕的部分数据与全部数据

 
阅读更多

List添加了OnItemClickListener监听,可以在监听里面的AdapterView<?> parent  参数可以获取条目的View,但是这值得注意的是在整个ListView都在屏幕能显示全则可获取ListView的全部条目的信息,如果ListView的条目显示大于屏幕的长度,则不能获取全部的信息,只能获取屏幕当前显示的,不在屏幕显示的条目的数据则为null;但是先获取适配器,从适配器中获取的数据则是ListView的全部数据,不管是不是在当前屏幕显示的均可以获取。

 

        pathList = new ArrayList<>();
        position = ((MusicPlayerApplication)getApplication()).getPosition();
        adapterView = ((MusicPlayerApplication)getApplication()).getParent();
        View view = null;
        TextView textView =null;
        String path = null;
        allMusic = adapterView.getCount();
        //只能获取当前的界面的条目数据,不在屏幕的条目的数据均为空
        Log.e("error",view+" getCount " + adapterView.getCount());
        for (int i = 0;i<adapterView.getCount();i++){
            view = adapterView.getChildAt(i);

            Log.e("error",view+" i " + i);
            if (view == null)
                continue;
            textView = (TextView)view.findViewById(R.id.url);
            path = textView.getText().toString();
            pathList.add(path);
        }

        allMusic = pathList.size();

        

 

//获取整个ListView 的条目的数据,不在屏幕的条目数据也可以获取
        SimpleAdapter simpleAdapter = ((MusicPlayerApplication)getApplication()).getSimpleAdapter();
        for (int i =0;i<simpleAdapter.getCount();i++){
            view = simpleAdapter.getView(i,null,null);
            textView = (TextView)view.findViewById(R.id.url);
            path = textView.getText().toString();
            pathList.add(path);
            Log.e("路径",textView.getText().toString());

        }

 

 

 

分享到:
评论

相关推荐

    ListView把数据显示到屏幕

    4. **数据绑定**:在`getView()`方法中,需要将Adapter中的数据与ViewHolder的视图进行绑定,如设置TextView的文字,ImageView的图片等,确保每个ListView项正确显示数据。 5. **ListView的监听事件**:可以通过...

    C#实现读取DataSet数据并显示在ListView控件中的方法

    一旦数据加载完成,你可以获取数据表的行数和列数,以便在ListView中正确地显示数据。这里,我们假设查询结果存储在DataSet的第一个表中: ```csharp int rowCount = ds.Tables[0].Rows.Count; int columnCount = ds...

    如何使用ListView组件列表显示数据

    它能够高效地处理大量数据,只在屏幕可见范围内加载视图,从而提高应用性能。本文将详细介绍如何使用`ListView`组件来显示数据,包括创建自定义布局、绑定数据以及使用`SimpleAdapter`简化数据绑定过程。 ### 创建...

    使用listview分页显示数据

    ListView的工作原理是利用视图复用来提高性能,当用户滚动时,只绘制屏幕可见的部分,其余部分会被复用。为了实现这一功能,开发者通常需要实现Adapter接口,Adapter是ListView与数据源之间的桥梁,它负责填充数据到...

    listview获取网络图片缓存优化

    "listview获取网络图片缓存优化" 主要关注如何在ListView中高效地加载和缓存网络图片,以提升用户体验。 首先,我们需要理解ListView的工作原理。ListView通过复用ViewHolder中的视图来提高滚动性能。当一个item...

    ListView获取item中EditText值

    因此,直接在点击事件或者监听器中获取EditText的值通常是不可靠的,因为此时的EditText可能已经被复用,显示的是其他Item的数据。 要解决这个问题,我们需要在ListView适配器(通常继承自BaseAdapter)中处理...

    listview数据重复解决办法

    然而,在实际操作中,开发者经常遇到一个问题,那就是ListView的数据重复显示,以及Item的ID错乱问题。这两个问题可能会严重影响用户体验,甚至导致程序逻辑错误。下面我们将深入探讨这个问题,并提供有效的解决策略...

    ListView的高级显示效果

    ListView的核心在于Adapter,它负责将数据与视图进行绑定。要实现高级显示效果,我们需要自定义Adapter,通常继承自BaseAdapter。自定义Adapter需要重写以下方法: 1. `getCount()`: 返回ListView的项数。 2. `...

    类似大众点评网的二级listview联动显示

    ListView是Android中用于显示大量数据的视图组件,通过滚动优化内存使用,只加载屏幕可见的部分视图。它的核心是Adapter,Adapter负责填充数据到ListView的各个Item中。 对于二级联动显示,我们需要创建两个Adapter...

    Android listview自动换行

    它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个需要解决的问题。在本篇中,我们将深入探讨如何在Android中为ListView实现...

    Listview显示图片优化

    9. 数据分页加载:如果数据量非常大,可采用分页加载策略,每次只加载一部分数据,减少一次性加载所有数据的压力。 通过以上这些优化方法,可以有效地解决ListView显示图片时可能出现的OOM问题,提高应用的性能和...

    Listview上拉加载下拉刷新网络数据

    这两种交互模式使得用户无需手动翻页,只需轻扫屏幕即可获取新数据,极大地提升了数据浏览的效率。 "上拉加载更多"功能是在用户滚动到ListView底部时,自动请求并加载更多的数据。这种设计在处理无限滚动的数据流,...

    横竖屏切换保存ListView数据

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。然而,在用户设备进行横竖屏切换时,ListView中的数据可能会丢失,导致用户体验下降。为了应对这个问题,开发者需要掌握如何在横竖屏切换时...

    ListView的下拉刷新和上拉加载数据

    "ListView的下拉刷新和上拉加载数据"是移动应用中常见的功能,主要用于优化用户体验,让用户能够在不离开当前页面的情况下获取新的数据。这一功能常见于新闻应用、社交媒体应用等,用户可以通过下拉屏幕触发刷新操作...

    Android中ListView中数据按照时间\日期分组(分类)标题可悬浮

    本示例项目"Android中ListView中数据按照时间/日期分组(分类)标题可悬浮"就是针对这种情况的一个解决方案,它模仿了虎扑应用的特性,实现了PinnedSectionListView,即在滚动时保持分组标题悬浮显示,同时没有集成...

    取外部ListView内容

    易语言的ListView组件可能支持虚拟列表,这意味着只有在屏幕上的条目才会被加载,从而减少内存消耗。 在易语言入门教程中,通常会涵盖以上步骤,并通过实例代码演示如何实现。教程可能会包括创建简单的ListView、从...

    自动隐藏和显示标题栏ListView

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。标题栏(通常指的是ActionBar或者ToolBar)是应用界面中常见的元素,它包含了应用的标识、菜单以及操作按钮等。"自动隐藏和显示标题栏ListView...

    监听listview垂直滚动距离

    在Android开发中,ListView是一种常用的控件,用于展示大量数据并支持滚动操作。"监听listview垂直滚动距离"是Android开发中的一个常见需求,它可以帮助开发者实现诸如无限滚动加载、顶部悬浮按钮(如“返回顶部”)...

    ListView显示出应用列表

    它可以高效地处理大量的数据,因为它只需要绘制屏幕可见的部分,其余部分则通过滚动来动态加载。这种机制称为“滚动优化”。 ### 2. 创建ListView 在XML布局文件中,我们需要添加ListView元素。例如: ```xml ...

    android中ListView下拉刷新

    它通过滚动的方式高效地管理视图,使得只渲染屏幕可见的部分,从而节省系统资源。然而,随着移动应用的不断发展,用户对交互体验的需求也在提升,下拉刷新功能就成为了许多应用的必备特性。这个功能允许用户在...

Global site tag (gtag.js) - Google Analytics