如何在android列表视图中将开关设置为on?

时间:2015-04-22 07:57:24

标签: android xml listview android-listview

设置开关时获取nullpointer异常。

XML定义

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >



    <Switch

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"

        android:onClick="onStatusChange"
        android:paddingLeft="12dip"
        android:textOff="Present"
        android:textOn="Absent"
        android:id="@+id/switch1"
        android:layout_gravity="right"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />



</RelativeLayout>

这是用于启动适配器

的函数
ListAdapter adapter = new SimpleAdapter(Student_List.this, studentList,
                    R.layout.list_item, new String[]{TAG_NAME, TAG_ROLL, TAG_ID}, new int[]{R.id.name, R.id.roll, R.id.ID});
            setListAdapter(adapter);

这是我用来设置它的功能。 (这里是空指针异常发生的地方)

RelativeLayout r1 = (RelativeLayout)findViewById(R.id.list1);
                    Switch sw = (Switch)r1.findViewById(R.id.switch1);
                    sw.setChecked(true);

1 个答案:

答案 0 :(得分:1)

为了能够为每个列表项使用自定义布局,您需要创建自己的适配器并设置该适配器中项目的布局。

您可以按照this link开始创建自定义适配器。