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

listview 在scrollview

 
阅读更多

转贴http://www.androidhub4you.com/2012/12/listview-into-scrollview-in-android.html

Step1- Create an Activity name-MainActivity.java and create a listview.

package com.example.scrollviewlistviewdemo;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
       private String listview_array[] = { "ONE", "TWO", "THREE", "FOUR", "FIVE",
                     "SIX", "SEVEN", "EIGHT", "NINE", "TEN" };
       ListView myList;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);

              myList = (ListView) findViewById(R.id.listView);
              myList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listview_array));
              Helper.getListViewSize(myList);
      
       }
}
Step2- Create main.xml-
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="19dp"
            android:text="@string/hello_world" />

        <ImageView
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:src="@drawable/ic_launcher" />

        <ListView
            android:id="@+id/listView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>

</ScrollView>

Step3- Finally and important thing create another class Helper.java and put below given code-
package com.example.scrollviewlistviewdemo;

import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;

public class Helper {
    public static void getListViewSize(ListView myListView) {
        ListAdapter myListAdapter = myListView.getAdapter();
        if (myListAdapter == null) {
            //do nothing return null
            return;
        }
        //set listAdapter in loop for getting final size
        int totalHeight = 0;
        for (int size = 0; size < myListAdapter.getCount(); size++) {
            View listItem = myListAdapter.getView(size, null, myListView);
            listItem.measure(0, 0);
            totalHeight += listItem.getMeasuredHeight();
        }
      //setting listview item in adapter
        ViewGroup.LayoutParams params = myListView.getLayoutParams();
        params.height = totalHeight + (myListView.getDividerHeight() * (myListAdapter.getCount() - 1));
        myListView.setLayoutParams(params);
        // print height of adapter on log
        Log.i("height of listItem:", String.valueOf(totalHeight));
    }
}

Hope it will help you thanks!


Read more: http://www.androidhub4you.com/2012/12/listview-into-scrollview-in-android.html#ixzz2jpKMmi10

 

分享到:
评论

相关推荐

    listview在scrollview中完整显示

    然而,当它被嵌套在ScrollView中时,通常会出现一些问题,比如滚动冲突或者ListView无法完整显示。这是因为ScrollView本身就是一个可滚动的视图,而ListView也是可滚动的,两者结合可能会导致滚动行为不正常。本篇...

    实现水平ListView,并且解决水平ListView在ScrollView中出现的滑动冲突

    实现水平ListView,并且解决水平ListView在ScrollView中出现的滑动冲突。 博客地址:http://love-java-only.iteye.com/blog/2020004 联系邮箱:liucanwen517#gmail.com

    ListView和ScrollView冲突

    自定义的一个ListView,在布局的时候使用,可以解决ListView和ScrollView冲突问题

    Android解决ListView嵌套ScrollView不能刷新

    通过重写`onMeasure()`和`onLayout()`方法,你可以确保ListView在ScrollView中正确测量和布局,从而解决滚动冲突。 3. **调整布局设计**:重新考虑你的布局设计,尽量避免使用嵌套的滚动视图。例如,可以尝试将需要...

    经典ScrollView嵌套ListView和ScrollView

    很多朋友因项目需求问题需要在ScrollView中嵌套使用ListView或ScrollView 但是彼此的滑动事件会发生冲突,网上大多数都是计算ListView的高度来解决这个问题,但个人亲手尝试 结果ListView的Item要是过多的话ListView...

    嵌套listview的scrollview

    在Android开发中,有时我们需要在一个布局中同时使用ScrollView和ListView,这样的组合被称为“嵌套滚动”。这通常是由于我们的界面需要展示大量的数据,并且用户可能希望滚动整个页面,而不仅仅是ListView的一部分...

    android完美解决listView与ScrollView滑动冲突

    4. **使用 FLAG_DISMISS_DECELERATION**:通过设置Window的FLAG_DISMISS_DECELERATION标志,可以让ScrollView在滑动结束后快速停止,从而减少冲突。但这可能会影响到ScrollView的滚动体验。 5. **使用 ...

    listview与scrollview冲突问题解决

    然而,在某些场景下,开发者可能希望在一个`ScrollView`中嵌套一个`ListView`,以实现更复杂的设计需求。然而,这种嵌套设计往往会导致`ListView`无法正常滚动的问题,即`ListView`似乎只显示一行多一点的内容,而...

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

    在Android开发中,ListView和ScrollView是两种常用的布局控件。ListView用于显示大量可滚动的数据列表,而ScrollView则是一个可以容纳单个子视图并允许垂直滚动的容器。然而,当试图在同一布局中同时使用这两个控件...

    listview_scrollview动态改变Headview

    在Android开发中,ListView和ScrollView是两种常用的布局控件,分别用于展示可滚动的列表视图和可滚动的内容视图。本主题将深入探讨如何在ListView或ScrollView中动态改变Headerview的透明度以及实现显示或隐藏的...

    Listview与Scrollview冲突的问题

    在Android开发中,ListView和ScrollView是两种常用的布局组件,它们各自有着特定的使用场景和功能。然而,当在一个布局中同时使用ListView和ScrollView时,往往会出现冲突问题,导致滚动不顺畅或者只有一方能正常...

    解决Android中ListView和ScrollView嵌套冲突

    在Android开发中,ListView和ScrollView是两种常用的布局控件。ListView用于展示大量可滚动的数据,而ScrollView则可以包裹任意数量的子视图并提供垂直滚动功能。然而,当ListView被放置在ScrollView内时,两者之间...

    ScrollView中自定义ListView

    然而,系统默认的ListView是不建议直接嵌套在ScrollView内的,因为两者都有滚动功能,这可能导致冲突和性能问题。为了克服这个问题,开发者常常需要自定义ListView来适应ScrollView的环境。 首先,我们要理解为什么...

    解决listview和scrollview冲突

    在Android开发中,ListView和ScrollView是两种常用的布局控件,它们各自有其特定的使用场景。ListView主要用于显示大量可滚动的数据列表,而ScrollView则用于包裹任何视图,使其可以滚动查看完整内容。当在一个布局...

    listView和scrollView焦点冲突问题

    在一些项目中需要用到listview嵌套在scrollview中的情况,但会碰到焦点冲突,scrollview焦点覆盖listview造成listview不能滑动,这种情况时要在scrollview中添加android:fillViewport="true"这句,并在listview中...

    解决listview潜逃在scrollview中的滑动冲突

    在Android开发中,ListView和ScrollView都是非常常见的视图组件。ListView用于显示大量的数据列表,而ScrollView则可以包裹任意数量的子视图,实现整个布局的滚动。然而,当ListView被嵌套在ScrollView中时,就会...

    Android下拉刷新控件(ListView好ScrollView版).rar

    这个“Android下拉刷新控件(ListView好ScrollView版)”压缩包文件包含的是关于如何在Android中实现这种功能的具体资料,主要集中在ListView和ScrollView这两种常见的滚动视图上。 1. **下拉刷新概念** 下拉刷新...

    listview和scrollview的嵌套

    在Android开发中,ListView和ScrollView是两种常用的布局控件,它们各自有其特定的应用场景。ListView主要用于显示大量的可滚动数据,而ScrollView则用于容纳比屏幕更大的内容。然而,当需要在一个ScrollView中嵌套...

    listview 和ScrollView整合版

    在Android开发中,ListView和ScrollView都是常用的视图组件,它们各自有着特定的用途。ListView主要用于显示大量的可滚动数据,每个条目通常具有相同的布局,而ScrollView则是一个可以容纳多个子视图并允许用户滚动...

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

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

Global site tag (gtag.js) - Google Analytics