2017-07-26 123 views
-2

我有一些問題ScrollViewListView不顯示所有項目的ListView滾動型中不顯示所有項目的Android

,我嘗試this code,它的工作原理,但它需要很長的時間在適配器處理。

我試圖this code這是更快,但不顯示所有項目

如何解決呢?

注:我ListView id爲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

您不應該在另一個滾動佈局內添加相同方向的滾動佈局。結果並不總是有意的。在這裏你的listview包裝到你的ListView的單個元素,因爲你已經在Scrollview中添加它。你不應該這樣做,在第一個地方,但如果你不能改變你的佈局然後執行以下更改:

  1. 變化的ListViewRecyclerVie瓦特並改變相應的適配器
  2. 此外,更改ScrollViewNestedScrollView
+0

謝謝!當我將ListView更改爲RecyclerView時它工作 –

0

您可以使用此功能:

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); 
setListViewHeightBasedOnChildren(list); 
+0

我嘗試這是行不通的,listview有滾動視圖 –

+0

您是否在將適配器放入listview後試過這段代碼? –