Как использовать флажок в listview (который имеет несколько строк в каждом списке) и расширяет Listactivity? - PullRequest
0 голосов
/ 11 мая 2011

это моя программа, которая расширяет ListActivity, и в каждом списке у меня есть мультилинии, изображение и флажок, поэтому я пытаюсь сделать так:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    List<Map<String, Object>> resourceNames =new ArrayList<Map<String, Object>>();

    Map<String, Object> data1,data2;

    data1 = new HashMap<String, Object>();
    data2 = new HashMap<String, Object>();

      data1.put("line1", "adidas Chelsea Tee-Womens" );
      data1.put("line2", "$ 129.0" );
      data1.put("img", R.drawable.q1 );
      resourceNames.add(data1);
      data2.put("line1", "Chelsea Track Top-Womens" );
      data2.put("line2", "$ 399.0" );
      data2.put("img", R.drawable.q2 );
 resourceNames.add(data2);
SimpleAdapter notes = new SimpleAdapter(
        this,
        resourceNames,
        R.layout.row,
        new String[] {"line1","line2", "img" },
        new int[] { R.id.text1, R.id.text2, R.id.img } );
    setListAdapter(notes);
}

, и мне интересно, как получить значение из каждого флажка в каждом списке

это мой row.xml

<?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">
<CheckBox 

android:id="@+id/checkBox1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"></CheckBox>
<ImageView
    android:id="@+id/img"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_marginRight="6dip"
    android:src="@drawable/icon" />
<LinearLayout
    android:orientation="vertical"
    android:layout_width="0dip"
    android:layout_weight="1"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="2"
        android:gravity="center_vertical"
    />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:id="@+id/text2"
        android:singleLine="true"
        android:ellipsize="marquee"
    />
</LinearLayout>

спасибо.

1 Ответ

1 голос
/ 11 мая 2011

посмотрите здесь http://www.mousetech.com/blog/?p=74 и Пользовательский список ListView для Android не может нажимать на элементы

для суммирования уже обобщенного блога, если элемент списка содержит фокусируемый элемент, этот элемент получит события щелчка. поэтому установите для атрибута focusable флажок значение false, чтобы этого не происходило.

...