listview

ReactNative: 使用列表组件ListView组件

无人久伴 提交于 2020-03-17 06:48:03
一、简介 在前面介绍过了FlatList列表组件用来展示大量的数据,ListView组件也是同样地功能。虽然ListView组件已经过时,但是作为新手还是有必要了解一下。它们的API差不太多,但是ListView组件使用起来确实要比FlatList列表组件复杂一下。ListView组件是一个垂直滚动列表组件,继承自ScrollView组件,拥有ScrollView组件的全部属性。该组件用简单的数据blob数组填充它,并使用该数据源和`renderRow`回调实例化一个`ListView`组件。 它从数据数组中获取一个Blob并返回可渲染组件。跟iOS中UITableView也非常类似。 二、API 该组件的属性如下: //数据源,必不可少,它是ListViewDataSource的实例 dataSource: PropTypes.instanceOf(ListViewDataSource).isRequired, //要渲染的分割线,是一个函数,返回一个节点元素 //函数示例:(sectionID, rowID, adjacentRowHighlighted) => renderable renderSeparator: PropTypes.func, //要渲染的每一行视图(cell),必不可少,通过函数返回一个节点元素 //函数示例:(rowData, sectionID,

ScrollView 嵌套 ListView 时,刷新页面时,会出现 自动 滚动至listview 的区域 解决方案:

蓝咒 提交于 2020-03-17 03:45:30
ScrollView 中嵌套有ListView时候,在页面切换 的时候,可能会出现 因listview 数据加载 而 导致 该页面展示的位置为 该listview区域。 解决方案:可在ScrollView中也就是ListView的父容器中添加 : android:descendantFocusability=“blocksDescendants” 来源: CSDN 作者: awodefengduanwu 链接: https://blog.csdn.net/awodefengduanwu/article/details/104836980

ListView的Item被点击和其中的Button被点击同时生效

元气小坏坏 提交于 2020-03-16 14:02:17
在listview中,没一行显示一个text,然后没一行点击进去会跳转到其他activy,新增加了一个需求,在最后一行添加自定义的滑动开关,希望只相应开关的点击,原来的item不用相应点击了,但是实际中却是连个都相应点击了。而用系统的switch控件,则能实现只有控件相应点击,item不会相应 为什么是这样呢。系统的switch应该是默认强制获取了item的焦点,只会响应switch的点击。 怎么设置焦点呢? 1、被点击的控件如ImageButton中添加属性android:focusable="true"和android:clickable="true" 如果想同时响应,则把android:focusable="false" 其他问题: Android开发中在ListView中经常有Button或ImageButton等需要被点击的控件,如果不加一些特殊的限制,有可能ListView的Item的点击事件或Button的点击事件,其中一个不能响应。我遇到的情况是ListView的Item不能响应点击事件。 解决的办法,在ListView的Item的xml文件中添加如下属性: 1)整个xml文件的根元素如LinearLayout中添加属性android:descendantFocusability="blocksDescendants" 2

how to make day and time List horizontal view from api with two button to scrolling the list view with flutter

*爱你&永不变心* 提交于 2020-03-16 09:58:42
问题 I have in flutter day and time page view, when the user click time setState the clicked time to the grey color, and setState the others to the transparent color, in this image you can see the selected date please note that the user can re select again so the old selection setState to the transparent color. 来源: https://stackoverflow.com/questions/60277469/how-to-make-day-and-time-list-horizontal-view-from-api-with-two-button-to-scroll

Listview column Header not displaying VB.Net

戏子无情 提交于 2020-03-16 05:47:05
问题 I am not getting column Header in listView. only one item(0) is displaying not the sub Item. here is my code. tell me what is wrong in it. Thank you in advance. Dim PTCode As Integer = CInt(ChildPatnameTag) ClearSQl() CheckState() strSql = "select tCode,tprice from patTests where pCode=" & PTCode strConn.Open() Dim TCmdSelect As New OleDbCommand(strSql, strConn) Dim TReader As OleDbDataReader = TCmdSelect.ExecuteReader() 'Column Header Dim header1, header2 As ColumnHeader header1 = New

Listview column Header not displaying VB.Net

浪尽此生 提交于 2020-03-16 05:46:26
问题 I am not getting column Header in listView. only one item(0) is displaying not the sub Item. here is my code. tell me what is wrong in it. Thank you in advance. Dim PTCode As Integer = CInt(ChildPatnameTag) ClearSQl() CheckState() strSql = "select tCode,tprice from patTests where pCode=" & PTCode strConn.Open() Dim TCmdSelect As New OleDbCommand(strSql, strConn) Dim TReader As OleDbDataReader = TCmdSelect.ExecuteReader() 'Column Header Dim header1, header2 As ColumnHeader header1 = New

又优化了一下 Android ListView 异步加载图片

拟墨画扇 提交于 2020-03-13 15:06:10
写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好: http://www.iteye.com/topic/685986 我也是因为看了这篇文章而受到了启发。 先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。 这样做无疑是非常可取的方法,但是加载图片时仍然会感觉到轻微的卡屏现象,特别是listview里的item在进行快速滑动的时候。 我找了一下原因,可能是在listview快速滑动屏幕的时候划过的item太多 而且每次调用getView方法后就会异步的在过去某个时间内用handler刷新一下UI, 如果在同一时间调用handler刷新UI次数多了就会造成这样的卡屏现象。 后来又一想,其实我们完全没有必要在listview正在滑动的时候去后台加载图片(不管这是图片是在缓存里还是在网络上),这样无疑造成了很大的资源浪费。 我们只需要在listview滑动停止之后再去加载listview里面显示的几个item里面的图片就好了。 根据以上想法,我做了一些设计改造: 1.在adapter 的 getview方法里面启动加载图片的thread,如果listview在滑动则wait 2.监听listview滑动停止事件

Android性能优化--Listview优化

删除回忆录丶 提交于 2020-03-13 15:04:38
ListView 的工作原理 首先来了解一下ListView的工作原理(可参见http://mobile.51cto.com/abased-410889.htm),如图: ListView 针对每个item,要求 adapter “返回一个视图” (getView),也就是说ListView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到ListView的长度,然后根据这个长度,调用getView()一行一行的绘制ListView的每一项。如果你的getCount()返回值是0的话,列表一行都不会显示,如果返回1,就只显示一行。返回几则显示几行。如果我们有几千几万甚至更多的item要显示怎么办?为每个Item创建一个新的View?不可能!!!实际上Android早已经缓存了这些视图,大家可以看下下面这个截图来理解下,这个图是解释ListView工作原理的最经典的图了大家可以收藏下,不懂的时候拿来看看,加深理解,其实Android中有个叫做Recycler的构件,顺带列举下与Recycler相关的已经由Google做过N多优化过的东东比如:AbsListView.RecyclerListener、ViewDebug.RecyclerTraceType等等,要了解的朋友自己查下,不难理解,下图是ListView加载数据的工作原理(原理图看不清楚的点击后看大图)

Android之ListView/GridView 优化

旧城冷巷雨未停 提交于 2020-03-13 15:04:20
一、效率最低的getView实现 我们知道,ListView和GridView的显示都是通过Adapter的getView实现的。 ListView/GridView数据量较小时,我们的处理方式一般是这样的(效率最低的一种方式) 1 public View getView(int position, View convertView, ViewGroup parent) { 2 View item = mInflater.inflate(R.layout.list_item_icon_text, null); 3 ((TextView) item.findViewById(R.id.text)).setText(DATA[position]); 4 ((ImageView) item.findViewById(R.id.icon)).setImageBitmap( 5 (position & 1) == 1 ? mIcon1 : mIcon2); 6 return item; 7 } 当数据量非常大时,这样每一次getView都会去inflate布局,效率太差,这会让我们的程序卡顿,滑动多了还会OOM。 二、利用Android已经提供了View缓存机制实现ViewHolder模式——实现View共享 我们注意到getView的第二个参数convertView

My listview doesn't show last item

吃可爱长大的小学妹 提交于 2020-03-13 05:22:08
问题 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="info.androidhive.materialtabs.fragments.OneFragment"> <ListView android:id="@+id/olaylar_liste" android:layout_width="match_parent" android:layout_height="wrap_content"></ListView> </LinearLayout> Last item is not showing. Please help. 回答1: Add this line to