`

android ScrollView 与listView共存冲突问题解决方法(附图)

阅读更多
  • [list]
  • [*]   [size=medium] 最近因项目的需要,需要在ScrollView中加入ListView!这本身是非常简单的问题,但是按流程下来的时候,ListView中的数据一直没有全部显示,很纳闷,一直在找是哪里出了问题!最后一位同事提醒了我!ScorllView中放入ListView是不可以计算ListVIiew的高度的。这时才恍悟过来,查了下资料看了看!很多已经有详细的文档来做解答了!http://blog.csdn.net/hitlion2008/article/details/6737459这个就比较好的阐释了问题!
  • [*]    不过在这里补充一下的是;如果ListView的每个Item是单行的话,这个方法是完全可以解决的,但是如果不确定每个Iitem的行数,这个方式是计算不了ListView的高度!这个问题先抛出来,在接下来的时间会尝试解决!如果有同行可以提出更好的方法解决!大家一起讨论下!
  • [*]
  • [*]最近关于这个问题;从新规划了下思路!
  • [*]   1.设置ScrollView的一个属性android:fillViewport="true"
  • [*]   2.使用一个方法,将listview放入该方法中,来计算其高度。特别注意一点就是,这个listview的每个Iitem的布局要是LinearLayout。
  • [*]方法如下:
[/list]



/**
     * 重新计算ListView的高度(ScorllView 中如果再放入scrollView 是无法计算的,我们可以计算后再赋值)
     * @param listView
     */
    public static void setListViewHeightBasedOnChildren(ListView listView) {
        ListAdapter listAdapter = listView.getAdapter(); 
        if (listAdapter == null) {
            // pre-condition
            return;
        }

        int totalHeight = 0;
        for (int i = 0; i < listAdapter.getCount(); i++) {
            View listItem = listAdapter.getView(i, null, listView);
            listItem.measure(0, 0);
            totalHeight += listItem.getMeasuredHeight();
        }

        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        listView.setLayoutParams(params);
    }

最后附上项目的视图,可以在scrollView中放入listView .[/size]
  • 大小: 143.1 KB
  • 大小: 19 KB
  • 大小: 186.6 KB
分享到:
评论
1 楼 JavaEEdyc 2015-01-05  
http://m.qianka.com/shoutu?u=21120061&referer_code=0349&from=singlemessage&isappinstalled=1


领取话费,看看别人的营销模式多么的让人心暖暖!

相关推荐

    android中scrollview与listview共存

    下面我们将详细探讨如何在Android中正确实现ScrollView和ListView的共存,以及如何处理可能遇到的问题。 首先,理解ScrollView和ListView的特性是关键。ScrollView是一个可以容纳多个子视图并允许整体滚动的容器,...

    ScrollView嵌套ListView滑动冲突的解决方法

    只需将原始的ScrollView替换为NestedScrollView,通常就能解决问题。 4. **使用ViewGroups嵌套** 另一种解决方案是将ListView放入另一个布局(如LinearLayout或RelativeLayout),然后再将这个布局添加到...

    解决scrollview嵌套listview的冲突问题

    用于解决scrollview组件嵌套listview组件时候 两者之间的冲突问题

    解决scrollView和listview滚动冲突,实现listview滑动到顶端和底部之后还能拖拽一定的距离,松开后返回

    在Android开发中,ScrollView和ListView是两种常用的布局组件,它们分别用于实现可滚动的大视图和展示多行可滚动的数据列表。然而,在实际应用中,当这两种组件同时存在于一个界面时,滚动冲突的问题就会出现,导致...

    Android解决ScrollView和ListView冲突问题Demo

    1. **使用NestedScrollView替代ScrollView**:NestedScrollView是Android Support Library中提供的一个滚动视图,它支持嵌套滚动,可以更好地与ListView或其他滚动视图协同工作。将ScrollView替换为NestedScrollView...

    Android_ScrollView与ListView_GridView共存冲突解决方案

    总之,通过上述重写onMeasure方法的方式,可以解决Android中ScrollView与ListView或GridView嵌套导致的冲突问题。这种方法不仅适用于简单的嵌套,也能在数据量较大时保证应用的流畅性和用户体验。

    解决Scrollview嵌套listview下拉刷新的一些问题

    在Android开发中,ScrollView和ListView是...总的来说,处理ScrollView和ListView的嵌套问题需要对Android布局有深入理解,同时也要关注性能和用户体验。合理的设计和优化能够帮助我们构建出流畅、功能完善的移动应用。

    scrollview与listview共存

    综上所述,解决ScrollView与ListView共存问题的关键在于合理利用Android提供的组件和特性,如NestedScrollView、Header/Footer视图、ViewHolder模式等。同时,通过监听和处理滚动事件,可以实现ListView的自动翻页...

    Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突

    总之,解决ScrollView与ListView滑动事件冲突的关键在于正确处理触摸事件的分发,确保每个组件都能在合适的时候接收并处理滑动事件。通过自定义组件或者利用现有组件的特性,我们可以构建出更加符合用户体验的界面。...

    android 解决ScrollView和listView嵌套冲突问题(保证在ScrollView中滑动listView只响应listView的滑动)

    在Android开发中,ScrollView和ListView的嵌套是一个常见的需求,但同时也伴随着许多技术挑战,主要问题在于两者都具有滚动功能,导致冲突,使得用户在滚动时可能会遇到不确定的行为。本篇将详细介绍如何解决这种...

    scrollview与listview,viewpager共存

    解决ScrollView与ListView、ViewPager共存的问题,有以下几种策略: 1. **避免嵌套**:最佳实践是尽量避免在ScrollView中嵌套可滚动的视图。如果需要展示的内容可以分为多个部分,考虑使用多个单独的ScrollView,...

    ScrollView+ListView冲突问题完美解决

    综上所述,解决ScrollView和ListView冲突问题需要理解它们的工作原理,并根据实际情况选择合适的方法。通过自定义组件、优化事件处理以及使用更合适的布局组件,我们可以有效地解决这些问题,从而提供更好的用户体验...

    解决ListView 和 ScrollView 共存冲突的问题

    总之,解决ListView和ScrollView共存问题的关键在于理解它们的滚动机制,并根据具体需求选择合适的方法。通常,尽量避免直接嵌套,而是利用RecyclerView的灵活性和NestedScrollView的嵌套滚动特性。对于复杂的布局...

    解决ScrollView嵌套ListView Demo

    通过上述方式,我们可以有效地解决ScrollView嵌套ListView的滚动冲突问题,使得两者能够协同工作,提供良好的用户体验。在"demo"项目中,你可以找到一个实际的应用示例,通过运行和调试,更深入地理解这个解决方案的...

    Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    然而,由于ScrollView自身并不支持滚动事件的监听,因此当我们在ScrollView中嵌套可滚动的组件如ListView或GridView时,可能会遇到滚动冲突问题。为了解决这个问题,开发者需要手动处理滚动事件,或者选择使用如...

    ScrollView与ListView的滑动冲突

    通过上述介绍,我们可以看出解决ScrollView与ListView/GridView之间的滑动冲突问题主要涉及到两种方法:一是通过编程方式手动设置ListView/GridView的高度;二是使用支持嵌套滑动的`NestedScrollView`。这两种方法各...

    ScrollView_ListView 事件冲突

    ScrollView_ListView 事件冲突

    android listview ScrollView冲突 listview checkbox

    在Android开发中,ListView与ScrollView的使用经常会产生冲突,因为两者都是用来展示多行数据的控件,但它们的工作机制有所不同。ListView通过复用Item视图来提高性能,而ScrollView则将所有子视图一次性加载到内存...

Global site tag (gtag.js) - Google Analytics