2011-09-27 46 views
2

我想要一個包含一些內容的列表視圖。在它下面,當你滾動到列表視圖的按鈕時,會顯示一個新的標題,然後顯示一個新的列表視圖。有可能嗎?列表視圖下面的列表視圖android

//編輯 這兩個listview需要有不同的佈局xml。

試圖將第二個listview放在第一個footview中。但是第二個列表視圖很小。

這裏是我的佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 

     <LinearLayout android:id="@+id/header" 
      android:background="@drawable/app_topbar" android:layout_width="fill_parent" 
      android:orientation="horizontal" android:layout_height="wrap_content" 
      android:layout_alignParentTop="true"> 

      <TextView android:text="@string/headline_notused" 
       android:gravity="center" android:textSize="24sp" android:textStyle="bold" 
       android:textColor="@color/txtcolor" android:layout_width="fill_parent" 
       android:layout_height="fill_parent"></TextView> 

     </LinearLayout> 

     <ProgressBar android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:layout_below="@+id/header" 
      android:visibility="gone" style="?android:attr/progressBarStyleHorizontal" 
      android:id="@+id/progressbarHorizontal" /> 

     <ListView android:id="@+id/notUsedList" android:divider="@android:color/transparent" 
      android:dividerHeight="5dip" android:layout_height="wrap_content" 
      android:layout_marginBottom="5dip" android:layout_width="fill_parent" 
      android:layout_weight="1" 
      android:layout_below="@+id/progressbarHorizontal"></ListView> 

     <LinearLayout android:orientation="vertical" 
      android:layout_below="@+id/notUsedList" android:background="@drawable/app_background" 
      android:layout_marginBottom="55dip" android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

      <LinearLayout android:id="@+id/myUsedHeader" 
       android:background="@drawable/app_topbar" android:layout_marginTop="10dip" 
       android:layout_width="fill_parent" android:orientation="horizontal" 
       android:layout_height="wrap_content" android:layout_alignParentTop="true"> 

       <TextView android:text="@string/headline_used" android:gravity="center" 
        android:textSize="24sp" android:textStyle="bold" android:textColor="@color/txtcolor" 
        android:layout_width="fill_parent" android:layout_height="fill_parent"></TextView> 

      </LinearLayout> 

      <ListView android:id="@+id/usedList" 
       android:divider="@android:color/transparent" android:dividerHeight="5dip" 
       android:layout_height="fill_parent" android:layout_width="fill_parent"></ListView> 

     </LinearLayout> 
</RelativeLayout> 
+0

您在初始化適配器時設置列表和列表項目的佈局。我不明白這個問題......你的第一個列表與第二個列表無關,只是在它到達最後一個列表項時告訴它。 – rf43

+0

我不明白你的ned:你想用新的listview替換你的listview,還是通過添加一些具有不同行佈局的項目來讓你以前的listview更長? –

+0

通過添加一些具有不同行佈局的項目,使以前的列表視圖更長。我還需要添加一個新的標題。對不起,如果它很難理解:) – Casper

回答

2

你的意思是不同部分的列表視圖,每個部分有一個標題。嘗試此鏈接Jeff sharkey adapter

+0

是否可以更改佈局,所以這兩個listview運行不同的佈局? – Casper

+0

你的意思是這兩個listview的行應該有不同的佈局。當然可以做到。 – anujprashar

+0

我得到了這個工作,我需要它的一個地方,所以它很棒。但在另一個活動中,我還需要更改列表視圖背後的背景。在這裏,我結束了將第二個listview放在第一個的footerview中,然後我編碼behinde將1項* arraylist.size()的高度值轉換爲dp,並且它也工作。所以謝謝你的補貨。 – Casper

1

當你在列表視圖中最後一個項目到達你應該察覺。

然後,你可以改變你的適配器,更改活動或你認爲合適的,以顯示新的ListView wathever:

實現一個OnScrollListener,設置你的ListViewonScrollListener,然後你應該能夠正確地處理事情。

例如:

// Initialization stuff. 
yourListView.setOnScrollListener(this); 

// ... ... ... 

@Override 
public void onScroll(AbsListView lw, final int firstVisibleItem, 
       final int visibleItemCount, final int totalItemCount) { 

    switch(lw.getId()) { 
     case android.R.id.list:  

      final int lastItem = firstVisibleItem + visibleItemCount; 
      if(lastItem == totalItemCount) { 
       // Last item is fully visible. You will then need to start a New activity, maybe... Or change the layout.. I don't know! 
      } 
    } 
} 
+0

好吧,是否有可能更改佈局xml也? – Casper

+0

是的,當然,你只需要改變你的適配器。我不知道你的應用程序,但是我會用一個新的Listview開始一個新的Activity ...但是如果你需要保持在同一個活動中,只需要做一些事情:getListView()。setAdapter(new YourAdapter布拉布拉)); –

+0

@casper:有什麼消息嗎?這管用嗎? –

0

是有可能。您可以在其他線性佈局的linearlayout和onether中定義一個列表視圖,並將其放入父LinearLayout。

+0

它需要linearlayout?因爲我現在有一個滾動問題。我也試圖將腳註內的最後一個listview放到第一個,但它沒有用。 – Casper

+0

android:minHeight =「?android:attr/listPreferredItemHeight」在listview屬性中使用它會解決scrollview問題。 –

+0

兩個列表視圖都可以嗎? – Casper