首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于ListView嵌套ListView,如何获取外部ListView项的位置

ListView嵌套ListView是一种常见的布局方式,用于在一个ListView的每个项中再嵌套一个ListView。获取外部ListView项的位置可以通过以下步骤实现:

  1. 在外部ListView的适配器中,为每个项设置一个唯一的标识符,例如使用position作为标识符。
  2. 在外部ListView的适配器中,为内部ListView设置一个监听器,用于监听内部ListView的滚动事件。
  3. 在内部ListView的滚动监听器中,获取内部ListView的第一个可见项的位置。
  4. 在外部ListView的适配器中,根据内部ListView的第一个可见项的位置,找到对应的外部ListView项的位置。

以下是一个示例代码:

代码语言:java
复制
// 外部ListView的适配器
public class OuterListAdapter extends BaseAdapter {
    // 内部ListView的滚动监听器
    private class InnerListViewScrollListener implements AbsListView.OnScrollListener {
        private int outerPosition;

        public InnerListViewScrollListener(int outerPosition) {
            this.outerPosition = outerPosition;
        }

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // 滚动状态改变时的处理
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            // 获取内部ListView的第一个可见项的位置
            int innerPosition = firstVisibleItem;
            
            // 根据内部ListView的第一个可见项的位置,找到对应的外部ListView项的位置
            int outerPosition = this.outerPosition;
            
            // 处理外部ListView项的位置
            // ...
        }
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // 获取外部ListView项的位置
        int outerPosition = position;
        
        // 设置内部ListView的适配器和滚动监听器
        InnerListAdapter innerAdapter = new InnerListAdapter();
        InnerListViewScrollListener innerScrollListener = new InnerListViewScrollListener(outerPosition);
        innerListView.setAdapter(innerAdapter);
        innerListView.setOnScrollListener(innerScrollListener);
        
        // 处理外部ListView项的其他操作
        // ...
        
        return convertView;
    }
}

在上述代码中,我们通过内部ListView的滚动监听器获取内部ListView的第一个可见项的位置,然后根据该位置找到对应的外部ListView项的位置。你可以根据具体的需求,在获取到外部ListView项的位置后进行相应的处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决ListView嵌套ListView遇到问题

Listview嵌套会造成问题主要是子listview高度错误导致内容不能正常显示完,解决这个问题,我个人第一个想法就是重新计算子listview高度,代码如下: private void setListViewHeightBasedOnChildren...(ListView listView) { if(listView == null) return; ListAdapter listAdapter = listView.getAdapter...listView.setLayoutParams(params); } 父listviewadapter中getview方法调用 RelationAdapter relationAdapter...cell.xlistView.setAdapter(relationAdapter);setListViewHeightBasedOnChildren(cell.xlistView); 注意事项: Adapter中getView方法返回View...必须由LinearLayout组成,因为只有LinearLayout才有measure()方法,如果使用其他布局如RelativeLayout,在调用listItem.measure(0, 0);时就会抛异常

1.6K60

获取外部进程窗口中listview列名

aardio中提供了操作外部进程listview控件库函数:winex.ctrl.listview,但是该函数库没有提供直接获取列名函数。...而aardio进程内listview库可以直接获取列名,相关函数名是:getColumnText()。...查看win.ui.ctrl.listview代码后发现:getColumnText()函数是调用getColumn()函数获取列名信息,而外部进程listview库里面有getColumn()这个函数...这个函数返回值也是个结构体,结构体中text属性就是列名。但在使用时,发现返回列名全部是0。...本人小白,经过多次尝试后找到了临时解决办法。但是需要改listview库。这样下次aardio一更新,我改动就会被恢复回去了。如果aardio作者能把这个问题解决掉最好了。

15750

django ListView使用 ListView获取url中参数值方式

Colortag_view(ListView): #context_object_name = '如果不指定的话在html页面中 可以使用object_list获取' context_object_name...将获取到分类值做为?后参数传入视图中,在视图中先将数据通过传递分类进行筛选,再将筛选后数据传递到页面进行渲染。...第二种情况,只按照关键字查询: 和分类查询类似,将文本输入标签(例如text类型input)绑定事件,获取到输入值,将获取值作为地址?后参入传递到后端。...# 如果type_id不为0则获取相应分类商品 if not type_id: goods = Goods.objects.all() else: goods = Goods.objects.filter...使用 ListView获取url中参数值方式就是小编分享给大家全部内容了,希望能给大家一个参考。

3.9K20

ListView(Item)三种布局

转载自:ListView(Item)三种布局使用例子 ---- List中item布局有三种: 自定义布局,使用了相对布局(RelativeLayout,见list_item.xml),左侧一个图片...,右侧上方是字体比较大title,下方是字体稍小description; 第二种是Android自带布局(见源码里simple_list_item_2.xml),主要是一个垂直LinearLayout...中每个元素都必须为Map子类,每个Map中以有一对或多对Key-Value对,这些值与下面的参数from有对应; resource:这是每个List(Item)对应XML布局资源文件名,在里面控制...List显示元素以及相对位置; from:是一个字符串数组,可以理解为列名,对应于data数据中Map元素Key值,只有包含在这个字符串数组元素对应到Map中Value值才能显示到TextView...值从data参数里map取出value值需要设置到TextView中,而这些TextViewid需要在这个数组中配置。

76520

android scrollview嵌套listview计算高度问题

但是为啥在scrollview中嵌套listview会出现只显示第一条listitem高度呢,原因是:scrollviewontach方法滚动事件消费处理,ListView控件高度设定问题 从谷歌那里找到...ScrollView嵌套ListView只显示一行解决办法相信很多人都遇到过,然后大部分都是用这位博主办法解决吧 刚开始我也是用这个办法解决,首先感谢这位哥大私奉献,贴上地址 http:/...(ListView listView) {              // 获取ListView对应Adapter              ListAdapter listAdapter = listView.getAdapter...        // listView.getDividerHeight()获取子项间分隔符占用高度              // params.height最后得到整个ListView完整显示需要高度...在什么位置,这个是拿TextView父控件Padding,为了更准确算出换行   int line = (int) Math.ceil( (this.getPaint().measureText

2.3K60

Android Studio如何获取SQLite数据并显示到ListView

我们在使用ListView时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中数据并动态显示到ListView当中呢?...其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些数据),然后引入ListView控件,最后将数据和ListView绑定就好了。...一 获取SQLite数据库中数据 SQLite是一个轻量级数据库,它能将数据保存到你手机,但缺点是一旦软件卸载所有数据将一同被销毁。所以要根据自己项目需要选择性使用。...控件 ListView引入是比较简单,我们可以直接将ListView控件拖拽到xml文件中即可。...总结 到此这篇关于Android Studio如何获取SQLite数据并显示到ListView文章就介绍到这了,更多相关android studio SQLite数据ListView内容请搜索ZaLou.Cn

3.9K20

Android开发实现ScrollView中嵌套两个ListView方法

本文实例讲述了Android开发实现ScrollView中嵌套两个ListView方法。...分享给大家供大家参考,具体如下: 做项目中要使用两个ListView在同一个页面上下显示,因为数据源不同,不能通过在Adapter中设置标志位去区分显示,最后只能硬着头皮做一个ScrollView嵌套两个...ListView,但按正常情况是不能同时显示,会出现上面的ListView完全显示,下面的只显示一个Item,查了一些资料终于成功了 主要有一个ListViewUtility ,代码如下: import...添加到 ListViewUtility中,并且两个ListView要填充完再添加,两个ListViewadpter布局最外层要使用LinearLayout,只有LinearLayout 在ListViewUtility...中才能成功测量每个Item 高度,不然就会出错 更多关于Android相关内容感兴趣读者可查看本站专题:《Android基本组件用法总结》、《Android开发入门与进阶教程》、《Android布局

1.4K20

Flutter 小技巧之 ListView 和 PageView 各种花式嵌套

这次 Flutter 小技巧是 ListView 和 PageView 花式嵌套,不同 Scrollable 嵌套冲突问题相信大家不会陌生,今天就通过 ListView 和 PageView 三种嵌套模式带大家收获一些不一样小技巧...正常嵌套最常见嵌套应该就是横向 PageView 加纵向 ListView 组合,一般情况下这个组合不会有什么问题,除非你硬是要斜着滑。...而关于这个需求,社区目前讨论结果是:把 PageView 和 ListView 滑动禁用,然后通过 RawGestureDetector 自己管理。...嵌套 ListView 同方向滑动可以正常运行了,但是目前还有个两个小问题,从图示可以看到:在切换之后 ListView 位置没有保存下来产品要求去除 ListView 边缘溢出效果所以我们需要对...Darg 解决各种因为嵌套而导致手势冲突,相信大家也知道了如何利用 Controller 和 Darg 来快速自定义一些滑动需求,例如 ListView 联动 ListView 差量滑动效果

1.9K20

基础篇章:关于 React Native 之 ListView 组件讲解

举个例子:我最基本使用方式就是创建一个ListView.DataSource数据源,然后给它传递一个普通数据数组,再使用数据源来实例化一个ListView组件,并且定义它renderRow回调函数...我前面说了,我这人比ScrollView那家伙聪明多了,所以它属性,我都能用,这里关于和ScrollView相同属性就不赘述了。看看我与众不同,比它聪明在哪吧?...粘性是指当它刚出现时,会处在对应小节内容顶部;继续下滑当它到达屏幕顶端时候,它会停留在屏幕顶端,一直到对应位置被下一个小节标题占据为止。...', padding: 10, }, }); AppRegistry.registerComponent('ListViewDemo', () => ListViewDemo); ok,关于...ListView组件讲解大概就先讲到这里,更多内容和实例,欢迎大家移步到官网,看文档,但是官网上大部分例子用是es5语法。

2K80

android 之 ListView 里面嵌套 GridView 遇到问题及其解决方法。

点击事件阻断情况下,同时图片具有点击事件,此时再点击和图片同高度空白处,却无法执行listViewitem点击事件,点击其它非同高度地方,例如点击文字却可以。...答:     原因:     GridView 格子中View 有点击事件,证明你没阻断,之所以点击和图片同高度空白处没有执行 listView 点击事件是你GridView 霸占了整行,即使你格子只有一个...解决方法:     动态给你 GridView 设置宽度,不要使用 Wrap_Parent 等. 3,如何动态地给嵌套Listview 里面的 GridView 设置宽、高度?...= 3;//这个是每个格子之间 间隙     int userPhoneWidth = 设备宽度; // 自己使用代码获取     int myPhoneWith = 1080 ; // 这个是你测试设备宽度...答:典型事件阻断,针对这种解决方法,百度上面大把解决方法。我这里不罗嗦。 最终,我项目的 ListView 嵌套 GridView 后效果是满足上述所有想要效果。

1.4K50

Android解决ScrollView下嵌套ListView和GridView中内容显示不全问题

最近为公司做一个Demo里面用到了ScrollView嵌套了GridView和ListView,然而在嵌套时候我发现GridView和ListView都是不能完全显示,显示基本上都是单行数据,最后查找资料和翻阅文档看到原因是...那就不再废话了 把我个人研究代码呈上 首先是关于ListView (注意此方法必须方到SetAdapter()方法之后执行) 这是控件查找 list_home = (ListView) view.findViewById...void getListViewSelfHeight(ListView listView) { // 获取ListView对应Adapter ListAdapter listAdapter...//listAdapter.getCount() - 1 从零开始 listView.getDividerHeight()获取子项间分隔符占用高度 params.height = totalHeight...getGridViewSelfHeight(gv_home); 下面是getGridViewSelfHeight(GridView youGrideView)(这个方法能解决问题但是感觉不是很好灵活性太差 我用获取列数始终获取不到

2.3K20

关于ListView中包含EditText数据复用引起异常解决方案

概述 前几天测试提了一个bug,在ListView中添加留言信息,导致错乱问题。实际上就是ListView需要添加一个EditText,复用导致错乱问题,这个问题以前也遇到过。...诸如,ListView嵌套EditText、CheckBox等焦点问题都会出现复用错乱,其根源就是ViewHolder复用问题。 ?...说说上面的问题吧,保存item中EditText中数据,导致数据复用时候都给设置了值。...keyEvent) { if ((edItem.size() == inputContainer.size())) { // 添加一控件...}); 但是这里出现了一个问题,由于复用,导致,每一个Item都被赋值了,所以我们要解决这个问题得从源头阻断给EditText赋值,也就是在OnTextChange方法里面,我们判断一下,如果用户操作是当前

1.6K90

常见面试题之ListView复用及如何优化

ListView复用及如何优化 经常有人问我,作为刚毕业要去面试,关于安卓开发问题,技术面试官会经常问哪些问题呢?...我想来想去不能一股脑全写出来,我准备把这些问题单独拿出来写,并详细分析一下,这样对于初学者是最有帮助。这次第一个问题就是:ListView复用及如何优化!...1、ListView复用简单来说就是使用ViewHolder复用convertView。说完大家尤其是初学者,没看过源码同学不太明白。那我就举一个例子,让大家能够明明白白。...④、item布局层级要越少越好。 3、如何检查呢? 可以使用hierarchview工具查看其优化。 什么是hierarchview?为什么要用它呢?...说到这里,我相信大家应该会对ListView复用及优化有了一定了解,如果在面试过程中说出来,相信面试官应该会对你满意

1K90
领券