NestedScrollView嵌套ListView滑动冲突

时间:2015年12月22日16:12:34

  1. 问题描述:

1)  在android.support.v4.widget.NestedScrollView中直接嵌套ListView时出现的情况:listview显示不全只有一行或者两行。

2) 如果listview的item中有根据id选择选项会导致选择错乱,现在(2015年12月22日16:13:55)碰到的问题是:listview中包含有switch控件,

用来对该item是否可用进行判断,但是现在冲突导致的listview中位置错乱。

2.解决方法:   计算出每一个item的高度,此方法用在listview.setAdapter()后。

  1. private void setListViewHeightBasedOnChildren(ListView listView) {
  2. ListAdapter listAdapter = listView.getAdapter(); //获得Adapter
  3. if (listAdapter == null) { //判断是否为空
  4. return;
  5. }
  6. int totalHeight = 0; //定义总高度
  7. //根据listAdapter.getCount()获取当前拥有多少个item项,然后进行遍历对每一个item获取高度再相加最终获得总的高度。
  8. for (int i = 0; i < listAdapter.getCount(); i++) {
  9. View listItem = listAdapter.getView(i, null, listView);
  10. listItem.measure(0, 0);
  11. totalHeight += listItem.getMeasuredHeight();
  12. }
  13. //获取到list的布局属性
  14. ViewGroup.LayoutParams params = listView.getLayoutParams();
  15. //listview最终高度为item的高度+分隔线的高度,这是重新设置listview的属性
  16. params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  17. //将重新设置的params再应用到listview中
  18. listView.setLayoutParams(params);
  19. }

来自为知笔记(Wiz)

时间: 2024-10-14 18:00:15

NestedScrollView嵌套ListView滑动冲突的相关文章

ScrollView 嵌套ListView 滑动冲突,与显示不全

import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; /** * * @author jiarh *2014-8-14 */ public class UserListView extends ListView { public UserListView(Context context) { super(context); } public UserLis

(转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager 导致的滑动冲突 轮播图的几种实现方式 先看一下效果图 ScrollView里面嵌套ViewPager ViewPager里面嵌套ViewPager View的 事件分发机制 这篇博客大打算详细讲解View的事件分发机制

PullToRefreshListView中嵌套ViewPager滑动冲突的解决

PullToRefreshListView中嵌套ViewPager滑动冲突的解决 最近恰好遇到PullToRefreshListView中需要嵌套ViewPager的情况,ViewPager 作为头部添加到ListView中,发先ViewPager在滑动过程中流畅性太差几乎很难左右滑动.在网上也看了很多大神的介绍,看了ViewPager的源码.其实思路很简单,只不过没有看到有教完整的说明,为了帮转像我这样的green hand 少走弯路,将过程整理下.大神自动略过~_~: 滑动冲突的解决大概要处

NestedScrollView嵌套ListView可行性总结

由于公司项目遗留代码仍然使用PullToRefreshListView(后文简称PTRLV),且存在复用,更换RecyclerView成本太大,同时又想使用CoordinatorLayout来实现一些嵌套滑动效果,所以研究了NestedScrollView嵌套PTRLV的方案. 对于NestedScrollView嵌套普通的ListView,常见的问题有: 嵌套后ListView只显示一行. ListView无法滑动. 网上的解决方案主要是2种: 重写ListView的onMeasure方法.

scrollview嵌套listview滚动冲突解决方案;

主activity页面: package com.example.scrollviewlistview; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; i

ViewPage嵌套ListView,嵌套Gallery 滑动冲突

首先项目需求是, 1.有左滑出现点击登录界面,用sliderMenu框架实现 2.新闻内容用ViewPage实现 3.在ViewPage中加载新闻片段Fragment 4.Fragment布局是一个带有上拉刷新,下拉下载的PullToRefresh ListView 5.ListView 里面有一个特殊第一项 拉取新闻广告位,用Gallery控件实现 问题:这么多滑动控件,在自定义Gallery控件,左右滑动,并未调用Gallery的OnFling()方法? 问题一:当Gallery第一个图,左

NestedScrollView嵌套ListView时只显示一行的解决方法

在使用CoordinatorLayout和AppBarLayout实现嵌套滑动的时候,出现listview没有嵌套滑动: 如果要实现嵌套滑动,则需要添加NestedScrollView,但是结果发现listview只显示一行数据 <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent"

NestedScrollView嵌套RecycleView 滑动 实现上滑隐藏 下滑显示头部效果

废了好大的劲才弄好的,记下来 方便以后查看 public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private List<String> mDatas; private HomeAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

ScrollView 与ListView 滑动冲突完美解决

一.介绍ListView高度的设置方法 二.根据实际需求解决冲突问题 一.介绍ListView高度的设置方法 在ScrollView中使用ListView,ListView的高度会不正常. 方式一:在XML中写死  android:layout_width="match_parent" android:layout_height="120dp" 方式二:代码中设置固定高度(如果在运行过程中才能决定ListView高度) public void setHeight(i