2011-11-07 64 views
0

我有一個列表視圖,顯示手機中聯繫人的所有名稱。
我希望點擊一個按鈕時,複選框會出現在列表視圖中每行的前面。一次點擊列表視圖中的任何一個項目,並在該行的前面出現一個刪除按鈕。動態添加按鈕和複選框到我的列表視圖?

這是我的佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ListView android:layout_height="350dp" android:id="@android:id/list" android:layout_width="fill_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_marginTop="35dp"> 

    </ListView> 

    <Button android:id="@+id/button1" android:layout_height="35dp" android:text="Button" android:layout_width="70dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button> 

    <TextView android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Favourites" android:layout_alignParentRight="true" android:layout_toRightOf="@+id/button1" android:layout_alignBottom="@+id/button1" android:layout_alignParentTop="true" android:gravity="center"></TextView> 

</RelativeLayout> 


讓我的文本視圖此文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:padding="6dip"> 

    <RelativeLayout 
     android:orientation="vertical" 
     android:layout_width="0dip" 
     android:layout_weight="0.96" android:layout_height="73dp"> 
     <TextView 
      android:id="@+id/textView_name" 
      android:layout_height="0dip" 
      android:gravity="center_vertical" 
     android:layout_weight="1" android:layout_width="218dp"/> 

    </RelativeLayout> 
</LinearLayout> 

回答

2

你必須複選框添加到您的XML的文件,並使其不可見。 在listViewAdapter的getView中添加一個代碼片段,使CheckBox可見或不可見,例如,如果布爾變量爲false或true。 現在如果您更改這些變量,只需在您的篩選器適配器上調用notifyDataSetChanged();

+0

11-07 13:21:11.670:錯誤/ AndroidRuntime(623):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.a3。 Activities/com.a3.Activities.Favourites}:java.lang.UnsupportedOperationException:addView(View,LayoutParams)在AdapterView中不受支持 .......添加複選框並將其可見性設置爲顯示上述錯誤 –

+0

你想添加CheckBox,請顯示一些代碼。 – Thommy