如何获取ListView的itemview

如何在外部方法(比如自定义方法)中获取ListView的itemview
private void getItemView(){
for(int i=0;i View view = listview.getChildAt(i);//
}
}
getChildAt(position);//这个方法不能用,因为getChildCount()返回的结果并不与Adapter的List长度相同,请问这是为什么?

0

1个回答

getChildAt(position)获取的是当前界面可见的View里的子View,但是ListView可能会有一部分是隐藏的,不能全部显示。能不能再Adapter里定义一个获取子View的方法在外部调用?

1
csxwc
青鸟飞鱼 哦,原来是这样,谢谢,我已经用另外的方式解决了
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
通过getChildAt方法取得AdapterView中第n个Item(重新编辑)
以前对于AdapterView(ListView和GridView的父类)以及这个类的getChildAt()方法理解十分粗浅,以为是指传入一个绝对position(就是这个item是AdapterView第几个元素)来直接获得到该item,当然,android SDK中对于该方法也没有很具体的说明。这个理解是错误的。以简单的listview为例先说下listview对于item的复用,一个元素很多
如何获取ListView中 一条Item的 View? 急急急.......
用ListViewiew.getChildAt(childIndex) 这个方法 只能显示 可见部分的Item的View   我的 Item条目 都超过了 一页,也就是说 由于屏幕小的原因 有更多的Item在下面看不到 ,这些看不到的Item 就获取不了View。。 网上有人说 用此方法能获取到看不见的Item: public View getViewByPosition(int pos, L
(listview局部更新)在activity中获取listview的item子项view
public View getViewByPosition(int pos, ListView listView) { final int firstListItemPosition = listView.getFirstVisiblePosition(); final int lastListItemPosition = firstListItemPosition + listV
通过位置找到ListView中的某个item的View
/** * 通过位置找到ListView中的某个item的View * @param pos * @param listView * @return */ public View getViewByPosition(int pos, ListView listView) { int firstListItemPosition
listview测量item的高度
view.measure(0,0); height=view.getMeasuredHeight(); 先measure  再获取
关于listview获取item的view时返回null的异常
要获取listview的item,通过getChild(position)方法: getChildAt():这个函数是用来获得ListView的Item,它能取到的Item的最大值为当前可见的Item数目,比如,当前屏幕只能看到ListView的6个Item,但你调用了getChildAt(6),相当于要获得ListView第七个可见的Item,这个时候就会报出NullPointerExcept
ListView动态添加、移除item
动态添加、移除ListView的itemView!非常流畅哦
Android ListView适配器Adapter的使用,item的复用和ViewHolder优化
概述 数据适配器:由于数据源的多样性及ListView的固定数据格式,需要使用Adapter建立数据源和ListView的动态适配关系。Adapter解耦了数据的来源和显示,降低了程序的耦合性,使之更易扩展。 ListView的缓存机制:如需同时显示5条数据,滑动时最多会同时显示6条数据,因此系统将加载6个item布局。当向上滑动至第一个item不可见时,该item则进入缓存池。当第7
listView中多个listItem布局时 convertView缓存及使用(转)
最近有需求需要在listView中载入不同的listItem布局,开始没有使用convertView,加载了多个item后导致了内存泄露,所以回来研究convertView在多个listItem布局时的缓存及应用,并且和大家分享 构造Adapter时,没有使用缓存的 convertView,导致内存泄露 示例代码:public View getView(int position, Vie...
自定义View—设置页面item
1.settingItem需要的属性,可根据需要自行添加控件中需要为左侧TextView设置Id,便于调整相对其他控件位置获取自定义属性,为动态添加控件做准备初始化,动态添加控件,设置相关属性//有时需要修改右侧文字...
popupwindow中用listView绑定数据并显示在View上方
popupwindow中用listView绑定数据并显示在View上方
怎么获取ListView和GridView适配器中item上TextView和ListView控件的值
CharSequence num = ((TextView) mListView.getChildAt(i).findViewById(R.id.item_editgood_num)).getText(); CharSequence price = ((EditText) mListView.getChildAt(i).findViewById(R.id.item_edit_
仿QQ左滑显示删除按钮
实现ListView,itemView的左滑显示删除按钮
解决listview的item中有Button、ImageButton等自动获取焦点的控件时,item获取不到焦点问题
当listview的item中有Button、ImageButton等自动获取焦点的控件时,可能点击每个item没有反应。这是因为子控件获取了焦点,则item获取不到焦点导致的。我们可以通过descendantFocusability属性来解决这个问题:这个属性大体是指:当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。属性的值有三种:        beforeDesc...
自定义View —— 可删除 item 的 ListView (事件分发)
本文所用源码:https://github.com/HeXiaosa/ItemDeletableListView 本文由看这篇文章 https://blog.csdn.net/lmj623565791/article/details/22961279 以及结合 Andorid 开发艺术探索而来。 事件分发概述 Android 中触摸事件主要由 dispatchTouchEvent, onInt...
获取ListView的item中的EditText的值
ListView的item中有EditText,当需要获得EditText中输入的值时,有时候会重复获取,有时候会发生错位的现象。现贴出适配器的代码,完整例子见附件。 [code="java"] public class MyAdapter extends BaseAdapter { private List list; private LayoutInflater inflat...
listview中的item转成bitmap并绘制
将layout转为bitmap绘制的步骤: 方法一:不将bitmap放入内存缓存当中1、调用measure方法、设置视图的大小,应传入父级的layout的宽高(int类型)2、传入measure的属性,可以通过以下方法进行设置并传入:View.MeasureSpec.makeMeasuereSpec(int width, int model),其中width为view的大小,   model有三种
依次加载listview的每一个item实现动画的效果
LayoutAnimationsController 1、什么是LayoutAnimationsController LayoutAnimationsController可以用于实现使多个控件按顺序一个一个的显示。 1)LayoutAnimationsController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置统一的动画效果。 2)每一个控件都有相同的动
ListView刷新单条item实现方法
//这个需求是即时通讯是需要消息列表单条进行实施刷新 (遍历对比会话id相同就刷新) if (event.getMessage().getConversationId().equals(datas.get(i).getMessageItem().getConversationId())) { //可以在你的setOnItemClickListener中直接进行一下操作就ok了(i就是po...
如何找到listview中item控件并进行操作
有时候我们要动态修改listview中item某一项的属性(例如实现全选 或者单选后imageview的效果) 1 例如如下的布局 绝对布局中两个item xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android通用listview和gridview万能适配器实现的两种方式
Listview和gridview是超级常用组件,于是乎,应该封装一下直接拿来用用而不是每次都写Adapter,这样多么的麻烦是不。虽然国内外大牛都有封装过,但是我总结了两个封装好的Adapter分享出来供使用。直接上代码和例子吧,就不啰嗦了。
菜鸟学android——获取listview某个item的view对象
网上查了查,发现这个问题很冷门,可现在又有这个需求,只好自己摸索一下了
ListView获取Item里面的值
今天在使用ListView时遇到一个很头痛的事,就是点击item时删除这条数据,因为设置点击事件后,获得的postion是item的下标,看博客有人说在最开始设置数据时把id put到每项存放item数据的Map里,这不是有病吗。最后找到方法了。看下面,看下面,看下面很有用的。 private AdapterView.OnItemLongClickListener lvlisten = new Ad
Android Animation动画实战(一): 从布局动画引入ListView滑动时,每一Item项的显示动画
本文我主要介绍了两个部分,一个是Layout Animation布局动画,使用布局动画可以控制VIew Groups中的每一个数据的显示动画; 还一个就是实战,仿“窝牛装修”ListView滑动时每一个Item滑动进入可见状态的动画效果。通过这两个动画示例,我相信可以帮助大家更好的处理动画,克服“动画恐惧症”。
Android中ListView和GridView通过getChildAt方法得到相应的Item并刷新
最近的程序有这么一个需求,整个列表中,当用户点击某个Item时,只刷新这个Item,这样可以减少资源的损耗,加快刷新速度。在实现过程中public View getChildAt(int index)传入的是整形index,没有翻屏的情况下使用List的position可以正常刷新,翻屏后点击通过getChildAt得到的是null public View getChildAt(int ind
Android ListView中Item点击事件失效解决方案
在平常的开发过程中,我们的ListView可能不只是简单的显示下文本或者按钮,更多的是显示复杂的布局,这样的话,我们就得自己写布局和自定义adapter了,一般是继承于BaseAdapter,写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView中Item条目点击事件失效,而Item中的View点击事件可以在getView方法
ListView列表点击事件和子控件item的点击事件冲突
我的布局是item控件包含一个CheckBox控件,两者都有点击事件,listview点击事件失效,item子控件checkbox点击事件可以使用。解决办法:1、在Item的xml文件根元素中加入属性:android:descendantFocusability="blocksDescendants"2、在冲突的子控件中加入属性:android:focusable="false"android:c...
使用ViewStub和自定义ListView完成的小功能
该功能很简单,自己花了一天来完成并测试它,其中涉及到了ViewStub和自定义ListView,具有全选、选中、回显等功能。        A.效果图       1.实现收件人该行效果.PNG 2.点击+后效果(此处自定义listView).PNG 3.选中、点击确定后回显效果.PNG               B. 功能实现       1.图一效果实现 1
使用ListView进行不同布局ItemView的显示
实现的界面效果如下图所示,没有可以进行布局上的调整,所以看起来丑一点。         上图在一个ListView中显示了两种不同的ItemView,主要是使用BaseAdapter中的getItemViewType()方法,以及getViewTypeCount()方法实现的。         下面来说说详细的实现步骤:         1. 跟以前使用自定义adapter时一样
RecyclerView获取某个item的VIewHolder、View为什么会为空
转载 :https://blog.csdn.net/z979451341/article/details/79099201就一句话,这个Item是否可见,可见获取得到,不可见获取为空平常我们使用RecyclerView的findViewHolderForAdapterPosition(int position)获取ViewHolder,使用LayoutManager的findViewByPosit...
Android ListView的Item中的子view共存、抢夺焦点问题
Android ListView的Item中的子view共存、抢夺焦点问题
C++编程之SOUI库listview学习(加入单选按钮)
前言:在项目中碰到问题,要求用到listview显示数据,前面还需要提供按钮进行对某行数据选中(需求样式如下图:通过和UI协商,我才用了check控件) 大家都知道多个check在一起是独立的,不受影响,那么怎样使按钮可以支持单选呢? 先看看listview的xml文件:
Listview的itemview中包含edittext控件时的解决方案
一、前几天在群里聊天,碰到一个哥们问listview的itemview中包含editext时怎么处理,当初没有做过这种需求本以为很简单,结果尼玛,心酸啊…一枚小菜鸡轻轻的路过~~~嘎嘎二、Demo效果图:(android studio截图一直是这么大,很纠结,讲究着看吧….)三、主要解决问题点:1.在listview中editetext焦点的问题 2.某些机型下,点击edittext软键盘弹出紧接
ListView的item中Button的点击以及一些属性的处理
在ListView的item中包含Button等控件的时候,就会由于焦点的问题导致一些问题。 正常情况下(不添加一些属性的时候),点击每一个item,item是不会获得焦点的,因为在每一个item上设置了button或者ImageButton,CheckBox等控件的时候,此时点击item,获得焦点的是子控件。此时就用到了一个属性android:descendantFocusability。(设
代码设置Listview的Item的高度
ListView中Item高度问题 代码设置Adapter的Item的高度: 方案一: 在xml里面多嵌套一次布局 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa...
android Listview头部带控件滑动距离的判断
网上有学多对listview的滑动距离和方向的判断 其中滑动距离可参考文章 http://blog.csdn.net/c19344881x/article/details/50543969 滑动方向可参考 http://blog.csdn.net/wangbaochu/article/details/45503605 在对该代码分析过程中觉得代码过于复杂,于是想到可以通过控件距离
文件重命名之动态修改ListView里指定Item中的组件属性
在Android实际开发过程中经常会遇到,修改ListView中某一项的值。如何达到这一目的呢?
关于listview适配器getview的详细说明
博主工作了几年,也用了几年的ListView等AdapterView控件,但关于Adapter的一些问题并没有深入下去,终于有时间学习总结下关于BaseAdapter的一些较深入的话题。本文涉及三个话题:Adapter的回收机制和效率提升,getItemViewType()/getViewTypeCount()方法以及notifyDatasetChanged()使用的注意点。 1.Adapter的
探讨Android开发ListView的Item里包含EditText控件遇到的一些问题
相信很多程序猿用到ListView都会遇到很多的问题,这里我们就讨论下ListView每个条目包含有EditText时遇到的问题。 主要有: 1,点击编辑框时,焦点看不到,即失去焦点,或不弹出软键盘。 2,这个编辑框输入内容时,由于ListView的重用机制滑动到下面会重复出现该内容。 3,如果设置有内容变化监听,输入的内容滑动后再拉回来内容消失。 4,EditText设置监听时会卡顿或i
1.android listView的每一个item布局高度不一样,自动计算listView高度
一、android listView的每一个item布局高度不一样 1.获取listView的宽度 2.给item的measure设置参数是listView的宽度就可以获取到真正每一个item的高度 public void setListViewHeightBasedOnChildren(ListView listView1) {         BaseAdapter listAdap...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 如何学python 获取教育大数据