代码之家  ›  专栏  ›  技术社区  ›  ARR.s

ScrollView中的ListView未显示所有项目Android[关闭]

  •  -2
  • ARR.s  · 技术社区  · 7 年前

    我有一些问题 ListView 在里面 ScrollView 不显示所有项目

    this code ,但在适配器中处理需要很长时间。

    此代码

    我该如何修复它?

    注:我的 列表视图 lv_poll_feed

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/color_white">
    
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/lay_edit_comment"
        android:scrollbars="none">
    
        <RelativeLayout
            android:id="@+id/lay_big"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <RelativeLayout
                android:id="@+id/lay_body_timeline_detail_detail"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/view_line_4">
    
                <TextView
                    android:id="@+id/tx_time_timeline_detail_user"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:padding="10dp"
                    android:text="-"
                    android:textColor="@color/color_gray_light"
                    android:textSize="@dimen/tx_size_smally_time"/>
    
                <RelativeLayout
                    android:id="@+id/lay_profile_detail_detail"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/tx_time_timeline_detail_user"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="0dp"
                    android:layout_marginRight="0dp">
    
                    <TextView
                        android:id="@+id/tx_timeline_detail_detail"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:padding="10dp"
                        android:text="-"
                        android:textColor="@color/tx_color_token"
                        android:textSize="@dimen/tx_size_small"/>
    
                    <RelativeLayout
                        android:id="@+id/lay_center"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/tx_timeline_detail_detail"
                        android:layout_marginBottom="5dp"
                        android:layout_marginTop="10dp"
                        android:gravity="center"
                        android:visibility="visible">
    
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="vertical">
    
                            <TextView
                                android:id="@+id/tx_catego_topic"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="10dp"
                                android:background="@drawable/bg_button"
                                android:padding="5dp"
                                android:text="xxxxxxx"
                                android:textColor="@color/color_white"
                                android:textSize="@dimen/tx_size_small"
                                android:visibility="gone"/>
    
                            <com.cunoraz.tagview.TagView xmlns:tagview="http://schemas.android.com/apk/res-auto"
                                                         android:id="@+id/tagCloudLinkView_topic"
                                                         android:layout_width="match_parent"
                                                         android:layout_height="match_parent"
                                                         android:layout_margin="10dp"
                                                         tagview:lineMargin="5dp"
                                                         tagview:tagMargin="5dp"
                                                         tagview:theme="@style/AppTheme"/>
    
                            <ListView
                                android:id="@+id/lv_poll_feed"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginTop="10dp"
                                android:divider="@null"
                                android:visibility="visible">
                            </ListView>
                        </LinearLayout>
                    </RelativeLayout>
    
                    <ImageView
                        android:id="@+id/img_timeline_profile_detail_list"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/tx_timeline_detail_detail"
                        android:adjustViewBounds="true"
                        android:visibility="visible"/>
                </RelativeLayout>
    
                <RelativeLayout
                    android:id="@+id/lay_timeline_detail_emoji"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/lay_profile_detail_detail"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:padding="10dp">
    
                    <LinearLayout
                        android:id="@+id/lay_big_emoji"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:visibility="visible"
                        android:weightSum="3">
    
                        <LinearLayout
                            android:id="@+id/lay_emoji1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/amazed_1"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_emoji2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/funny_2"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_emoji3"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/love_3"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_3"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_emoji4"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/sorrow_2"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_4"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_emoji5"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/anger_5"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_5"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_emoji6"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_weight="0"
                            android:orientation="horizontal"
                            android:visibility="visible">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/horrified_6"/>
    
                            <TextView
                                android:id="@+id/tx_number_emoji_6"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text=""
                                android:textSize="@dimen/tx_size_smally_time"/>
                        </LinearLayout>
                    </LinearLayout>
                </RelativeLayout>
    
                <View
                    android:id="@+id/view_line_5"
                    android:layout_below="@+id/lay_timeline_detail_emoji"
                    android:layout_marginTop="5dp"
                    android:background="@color/text_bottombar"/>
    
                <RelativeLayout
                    android:id="@+id/lay_body_quest_topic"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/view_line_5"
                    android:layout_marginTop="5dp">
    
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="6">
    
                        <LinearLayout
                            android:id="@+id/lay_timeline_detail_up"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_weight="2"
                            android:focusable="false"
                            android:focusableInTouchMode="false"
                            android:gravity="center"
                            android:orientation="horizontal"
                            android:padding="5dp">
    
                            <ImageView
                                android:id="@+id/img_up"
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/up_1"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_up"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:layout_marginLeft="5dp"
                                android:text="@string/tx_up"
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_number_up"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:text=" 53"
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_timeline_detail_comment"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_weight="2"
                            android:gravity="center"
                            android:orientation="horizontal"
                            android:padding="5dp">
    
                            <ImageView
                                android:id="@+id/img_comment"
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/comment_1"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_comment"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:layout_marginLeft="5dp"
                                android:text="@string/tx_comment"
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_number_comment"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:text=" 53"
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
                        </LinearLayout>
    
                        <LinearLayout
                            android:id="@+id/lay_profile_detail_share"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_weight="2"
                            android:gravity="center"
                            android:orientation="horizontal"
                            android:padding="5dp">
    
                            <ImageView
                                android:layout_width="20dp"
                                android:layout_height="20dp"
                                android:src="@drawable/share_1"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_share"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:layout_marginLeft="5dp"
                                android:text="@string/tx_share"
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
    
                            <TextView
                                android:id="@+id/tx_timeline_detail_number_share"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_centerVertical="true"
                                android:text=" "
                                android:textColor="@color/tx_color_token"
                                android:textSize="@dimen/tx_size_smally"/>
                        </LinearLayout>
                    </LinearLayout>
                </RelativeLayout>
    
                <View
                    android:id="@+id/view_line_3"
                    android:layout_width="match_parent"
                    android:layout_height="3dp"
                    android:layout_below="@+id/lay_body_quest_topic"
                    android:layout_marginTop="5dp"
                    android:background="@color/bottombar"/>
    
                <RelativeLayout
                    android:id="@+id/lay_timeline_detail_select_emoji_profile"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_above="@+id/lay_body_quest_topic"
                    android:layout_marginBottom="-10dp"
                    android:background="@drawable/bg_emoji"
                    android:visibility="gone">
    
                    <LinearLayout
                        android:id="@+id/lay_star"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/tx_name_detail"
                        android:gravity="center"
                        android:orientation="horizontal">
    
                        <RadioGroup
                            android:id="@+id/radioGroupQuest"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:orientation="horizontal"
                            android:padding="0dp">
    
                            <RadioButton
                                android:id="@+id/emoji1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginRight="15dp"
                                android:background="@drawable/img_emoji_amazed"
                                android:button="@android:color/transparent"
                                android:checked="false"
                                android:gravity="center"/>
    
                            <RadioButton
                                android:id="@+id/emoji2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginRight="15dp"
                                android:background="@drawable/img_emoji_funny"
                                android:button="@android:color/transparent"
                                android:checked="false"/>
                        </RadioGroup>
                    </LinearLayout>
                </RelativeLayout>
            </RelativeLayout>
        </RelativeLayout>
    </ScrollView>
    

    2 回复  |  直到 7 年前
        1
  •  2
  •   nitinkumarp    7 年前

    您不应该在另一个滚动布局中添加相同方向的滚动布局。结果并非总是预期的。在这里,您的listview被包装到listview的单个元素,因为您已将其添加到Scrollview中。您首先不应该这样做,但如果无法更改布局,请执行以下更改:

    1. 改变 w并更改 适配器 照着
    2. 还有,改变 卷轴视图 嵌套滚动视图
        2
  •  2
  •   Rohan Ashik Manoj Srivastava    5 年前

    您可以使用此功能:

    public static void setListViewHeight(ListView listView) {
        ListAdapter listAdapter = listView.getAdapter();
        if (listAdapter == null)
            return;
    
        int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.UNSPECIFIED);
        int totalHeight = 0;
        View view = null;
        for (int i = 0; i < listAdapter.getCount(); i++) {
            view = listAdapter.getView(i, view, listView);
            if (i == 0)
                view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, LayoutParams.WRAP_CONTENT));
    
            view.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
            totalHeight += view.getMeasuredHeight();
        }
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        listView.setLayoutParams(params);
    }
    

    ListView list = (ListView) view.findViewById(R.id.listview);
    setListViewHeight(list);