2011-10-27 24 views
2

我在我的Android程序中使用了一個listview。列表視圖中有兩種類型的行嗎?

我有兩種類型的行。 1)只有一個textview,當你選擇它時,它會打開一個新的意圖。 2)3個textview和一個按鈕,當你按下按鈕時,它會打開一個新的意圖。

如何區分這些以及如何在一個適配器中製作這些不同的東西?

P.S:我真的在網上徹底搜索。我正在嘗試在2-3天內完成此操作。但沒有運氣。

謝謝。

回答

0

我認爲你可以在單個列表項中組合兩行,然後根據需要的行類型進行播放。 例如,使用下面的佈局,如果需要顯示行2類型的元素,則可以將View.Gone設置爲row1_textView.VISIBLE,對於row2_text*row2_button設置可見性。並切換row1類型的可見性。

<?xml version="1.0" encoding="UTF-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/list_item" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight"> 
    <TextView 
     android:id="@+id/row1_text" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:id="@+id/row2_text1" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:id="@+id/row2_text2" 
     android:layout_alignParentTop="true" 
     android:layout_toRightOf="@id/row2_text1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:id="@+id/row2_text3" 
     android:layout_alignParentTop="true" 
     android:layout_toRightOf="@id/row2_text2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <Button 
     android:id="@+id/row2_button" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@id/row2_text3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</RelativeLayout> 
相關問題