2014-10-12 207 views
1

我有我的應用程序中的滾動視圖中的列表視圖。Android在滾動視圖中添加列表視圖並從列表視圖中移除滾動

我在運行時將數據添加到列表視圖,但由於滾動型是列表視圖的父,我無法通過列表視圖中只有一個元素列表視圖中的所有元素,並以滾動的底部

那麼明顯有沒有辦法通過我可以禁用列表視圖滾動。

列表視圖是在佈局的底部

list.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/repeat" 
android:orientation="vertical" > 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp 
     " 
     android:layout_marginRight="10dp" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <ImageView 
       android:id="@+id/close" 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:padding="10dp" 
       android:src="@drawable/closeicon" /> 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dp" 
       android:orientation="horizontal" > 

       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" > 

        <TextView 
         android:id="@+id/loved" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentLeft="true" 
         android:layout_marginTop="5dp" 
         android:text="Loved" 
         android:textColor="@color/d0d2d3" 
         android:textSize="@dimen/twelevetweleve" /> 
       </RelativeLayout> 

       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" > 

        <TextView 
         android:id="@+id/viewed" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentLeft="true" 
         android:layout_marginTop="5dp" 
         android:text="viewed" 
         android:textColor="@color/d0d2d3" 
         android:textSize="@dimen/twelevetweleve" /> 
       </RelativeLayout> 
      </LinearLayout> 
     </LinearLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/share" 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:layout_centerVertical="true" 
       android:src="@drawable/newshareicon" /> 

      <com.nearify.android.RoundedImageView 
       android:id="@+id/eventimage" 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:src="@drawable/noimagenearify" /> 

      <ImageView 
       android:id="@+id/loveicon" 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:src="@drawable/loveicon" /> 
     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:padding="5dp" 
       android:text="gggggggggggg" 
       android:textColor="@color/whitecolor" 
       android:textSize="@dimen/fourteen" 
       android:textStyle="bold" /> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:orientation="horizontal" > 

      <ImageView 
       android:layout_width="16dp" 
       android:layout_height="16dp" 
       android:layout_gravity="center_vertical" 
       android:background="@drawable/timeicon" /> 

      <TextView 
       android:id="@+id/starts" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_marginLeft="10dp" 
       android:text="starts ongoing" 
       android:textColor="@color/d0d2d3" 
       android:textSize="@dimen/twelevetweleve" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:orientation="horizontal" > 

      <ImageView 
       android:layout_width="16dp" 
       android:layout_height="16dp" 
       android:layout_gravity="center_vertical" 
       android:background="@drawable/timeicon" /> 

      <TextView 
       android:id="@+id/ends" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_marginLeft="10dp" 
       android:text="ends ongoing" 
       android:textColor="@color/d0d2d3" 
       android:textSize="@dimen/twelevetweleve" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" 
      android:orientation="horizontal" > 

      <ImageView 
       android:layout_width="16dp" 
       android:layout_height="16dp" 
       android:background="@drawable/venueicon" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dp" 
       android:orientation="vertical" > 

       <TextView 
        android:id="@+id/address" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical" 
        android:text="address ongoing" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 

       <TextView 
        android:id="@+id/addressdetail" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical" 
        android:layout_marginTop="10dp" 
        android:text="addressdetail ongoing" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </LinearLayout> 
     </LinearLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="1dp" 
      android:layout_marginLeft="-10dp" 
      android:layout_marginTop="20dp" 
      android:background="@color/d0d2d3" > 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" 
      android:orientation="horizontal" > 

      <LinearLayout 
       android:id="@+id/calender" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:orientation="vertical" > 

       <ImageView 
        android:layout_width="32dp" 
        android:layout_height="32dp" 
        android:layout_gravity="center_horizontal" 
        android:background="@drawable/calendaricon" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        android:text="calender" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/direction" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:orientation="vertical" > 

       <ImageView 
        android:layout_width="32dp" 
        android:layout_height="32dp" 
        android:layout_gravity="center_horizontal" 
        android:background="@drawable/calendaricon" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        android:text="direction" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/ticket" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:orientation="vertical" > 

       <ImageView 
        android:layout_width="32dp" 
        android:layout_height="32dp" 
        android:layout_gravity="center_horizontal" 
        android:background="@drawable/calendaricon" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        android:text="ticket" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </LinearLayout> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/custombordertrans" 
      android:orientation="horizontal" > 

      <RelativeLayout 
       android:id="@+id/Details" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" > 

       <TextView 
        android:id="@+id/Detailstext" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:padding="8dp" 
        android:text="Details" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:background="@color/d0d2d3" > 
      </RelativeLayout> 

      <RelativeLayout 
       android:id="@+id/peoples" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" > 

       <TextView 
        android:id="@+id/peoplestext" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:padding="8dp" 
        android:text="Related Peoples" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:background="@color/d0d2d3" > 
      </RelativeLayout> 

      <RelativeLayout 
       android:id="@+id/artists" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" > 

       <TextView 
        android:id="@+id/artiststext" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:padding="8dp" 
        android:text="Related Artist" 
        android:textColor="@color/d0d2d3" 
        android:textSize="@dimen/twelevetweleve" /> 
      </RelativeLayout> 
     </LinearLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:padding="5dp" 
       android:text="Details" 
       android:textColor="@color/d0d2d3" 
       android:textSize="@dimen/twelevetweleve" /> 
     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <ListView 
       android:id="@+id/list" 
       android:layout_width="wrap_content" 

       android:layout_height="wrap_content" 
       android:visibility="gone" > 
      </ListView> 

      <WebView 
       android:id="@+id/web" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:visibility="gone" /> 
     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 
     </RelativeLayout> 
    </LinearLayout> 
</ScrollView> 

+0

如果你要禁用ListView的滾動,然後剛剛擺脫ListView控件,並動態地創建視圖來添加到LinearLayout中。 – 2014-10-12 06:11:50

+0

但我想只使用listview所以有什麼辦法可以通過我可以刪除listview滾動並將完整的數據添加到列表視圖 – 2014-10-12 06:14:02

回答

2

最後我找到了解決辦法,使自定義列表視圖可擴展Java中

ExpandableListView.java

public class ExpandableListView extends ListView{ 
ExpandableListView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

ExpandableListView(Context context) { 
     super(context); 
    } 

    public ExpandableListView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    @Override 
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 

     // Calculate entire height by providing a very large height hint. 
     // View.MEASURED_SIZE_MASK represents the largest height possible. 
     int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST); 
     super.onMeasure(widthMeasureSpec, expandSpec); 

     ViewGroup.LayoutParams params = getLayoutParams(); 
     params.height = getMeasuredHeight(); 
    } 
} 

list.xml(用法)

<com.example.ExpandableListView 
       android:id="@+id/list" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       > 
      </com.example.ExpandableListView>