`
心雨心
  • 浏览: 355073 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ScrollView中嵌入ListView办法

 
阅读更多
①layout布局代码:
<ScrollView android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="wrap_content">
 <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
  android:orientation="vertical" >
 <!-- 可以允许其他控件 -->
 <LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical"
    android:id="@+id/listhigh">
  <ListView android:id="@android:id/list"
   android:layout_width="fill_parent"
   android:layout_weight = "1"
   android:layout_height="wrap_content" 
   android:cacheColorHint="#00000000"
   android:fadingEdge="none"
   android:scrollingCache="false"
         />
   </LinearLayout> 
  </LinearLayout>
</ScrollView>
说明:既然ScrollView中一旦嵌入ListView时,ListView可显示的高就被局限了,很是恶心。故把ListView 放在了LinearLayout 中,并且代码来控制LinearLayout 的高度,这样做的目的就是动态控制LinearLayout的高度,从而达到ListView的高是多少,我们就在代码里给LinearLayout 赋上一个多高的值。如此以来就解决了不可嵌入的问题
②代码中根据首先要拿到ListView的size,然后size*每行的高就可以得到整个ListView的高了
listhigh.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, high));
进阶============================
如果ListView的每行高度不一,就直接把上面布局中的ListView控件删掉,代码来addView即可
for(int i=0;i<size;i++){
   TestBean itemData = list.get(i);
   listhigh.addView(getItemView(itemData));
  }
 private View getItemView(final TestBean itemData) {
  View convertView = LayoutInflater.from(context).inflate(R.layout.list_item,null);
  name = (TextView)convertView.findViewById(R.id.fans_name);
  info = (TextView)convertView.findViewById(R.id.fans_info);
  name.setText(itemData.getString("name"));
  info.setText(itemData.getString("info"));
  }
  convertView.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
   //item click
   }
  });
  return convertView;
 }
分享到:
评论
1 楼 haiyangzhy 2012-06-20  
很好。

相关推荐

    ScrollView中嵌入ListView的例子

    下面将详细介绍如何在ScrollView中嵌入ListView以及这种做法的优缺点。 首先,让我们分析一下如何实现这个布局。在XML布局文件中,你可以这样编写: ```xml &lt;ScrollView xmlns:android=...

    ListViewForScrollView实现Scrollview中嵌套listView.zip

    通过这个“ListViewForScrollView”的实现,开发者可以有效地在ScrollView中嵌入ListView,为用户提供流畅的滚动体验,无论是单个视图还是整个界面都可以自由滑动。这在展示大量数据并需要分段展示的场景中非常有用...

    ScrollView中嵌入ListView只显示一条的解决办法

    在Android开发中,有时会遇到需要在一个ScrollView中嵌入ListView的情况。然而,这样做时常会导致问题,最常见的是ListView只显示第一条数据,其余内容被隐藏。这是因为ScrollView和ListView这两个滚动控件之间的...

    scrollview与listview,viewpager共存

    在Android开发中,ScrollView、ListView和ViewPager是三个非常常见的组件,它们各自有着不同的用途和功能。当需要在同一个布局中同时使用这三个组件时,开发者可能会遇到一些挑战,因为它们本质上都是处理滚动行为的...

    探讨:如何在ScrollView中嵌套ListView

    在Android开发中,有时我们需要在一个页面中同时展示多个视图元素,这可能涉及到ScrollView与ListView的嵌套使用。本文将详细解析如何在ScrollView中正确地嵌套ListView,以及解决由此产生的冲突问题。 首先,我们...

    scrollView嵌套ListView的下拉刷新和加载更多

    在ListView中使用GridView,需要确保每个GridView的大小是固定的,以避免影响ListView的滚动性能。 总的来说,"ScrollView嵌套ListView的下拉刷新和加载更多"是一个复杂的交互设计,它涉及到Android的触摸事件分发...

    ScrollListView:scrollview中嵌套listview

    2. **嵌入ListView** 在ScrollView内添加一个ListView,通常我们会用一个LinearLayout作为ListView的父容器,然后将ListView添加到LinearLayout中。 ```java LinearLayout linearLayout = new LinearLayout(this);...

    自定义可适应ScrollView的ListView

    在Android开发过程中,我们经常需要处理复杂的界面布局,特别是在需要将`ListView`嵌入`ScrollView`的情况下,因为默认情况下`ListView`不能直接放在`ScrollView`内。这是因为`ScrollView`只能包含一个直接子视图,...

    listView嵌套listView.zip

    而嵌套ListView,即在一个ListView中嵌入另一个ListView,通常是为了处理层级结构的数据,例如树形结构。 在“NestedListView”项目中,我们可能会看到以下关键组件和技术: 1. **自定义Adapter**:为了实现嵌套...

    Android 45 道面试题及答案.docx

    1. 如何在 ScrollView 中嵌入 ListView 在 ScrollView 中嵌套 ListView 通常会导致 ListView 控件显示不全,因为两个控件的滚动事件冲突导致。解决方法是自定义 ListView,重载 onMeasure() 方法,设置全部显示。 ...

    android 横向ListView 水平Listview DEMO

    将ListView嵌入到HorizontalScrollView中,可以轻松实现水平滑动的列表效果。但需要注意,由于HorizontalScrollView自身也具有滚动功能,所以不建议在其中嵌套其他可滚动的组件,比如ScrollView或ListView,否则可能...

    ListView嵌入EditText焦点和滑动值错位问题解决

    然而,当我们在ListView中嵌入EditText时,可能会遇到一些常见的问题,比如EditText无法获取焦点,以及用户在EditText中输入内容后,随着ListView的滚动,EditText的输入值会出现错位现象。这些问题严重影响了用户...

    应用源码之ScrollView版悬浮菜单.zip

    在ScrollView中嵌入悬浮菜单,可以确保菜单始终可见,无论用户滚动到页面的哪个位置。 在源码中,我们可以学习如何创建和定制悬浮菜单,包括设置其形状、颜色、大小以及点击事件。通常,FAB的实现会涉及到`android....

    安卓下拉上拉刷新相关-非常好的上拉刷新和下拉加载-就一个View方便嵌入支持ListView和其它滚动的View.rar

    就一个View方便嵌入,支持ListView和其它滚动的View.rar"提供了这样一个解决方案,它是一个专为Android设计的组件,旨在简化开发者的集成过程,让开发者可以轻松地在ListView或其他可滚动视图中实现上下拉刷新功能。...

    Android-SlidingDrawer一个Android滑动抽屉支持ListViewScrollViewRecyclerView

    以下是如何将这些滚动视图嵌入SlidingDrawer中的方法: 1. **ListView**:将ListView作为SlidingDrawer的内容区域,这样用户可以在打开抽屉后浏览列表项。需要确保ListView的高度设置为wrap_content,以适应其内容...

    Android UI 问题集注

    要在Dialog中嵌入ListView,可以使用LayoutInflater来加载自定义的布局文件,并将加载后的视图设置给Dialog。示例代码如下: ```java Dialog dlg = new Dialog(context, R.style.Theme); dlg.setContentView(R....

    flutter-example-git.zip 配套Gitbook fgyong flutter入门与进阶的代码

    在Flutter中,有多种类型的ScrollView,如ListView(用于展示列表数据)、GridView(网格布局)和CustomScrollView(自定义滚动视图),可以根据需求选择合适的滚动视图来优化用户体验。 此外,压缩包还包含了多个...

    非常好的上拉刷新和下拉加载-就一个View方便嵌入

    标题提到的"非常好的上拉刷新和下拉加载-就一个View方便嵌入",指的是提供了一个高效、易用的组件,使得开发者能够快速集成到他们的应用程序中,不论是ListView还是其他的可滚动视图。 上拉刷新(Pull-to-Refresh)...

Global site tag (gtag.js) - Google Analytics