我有一个自定义列表视图,我有文本字段和复选框。当我点击列表视图时,如果没有启用和副签证,则应启用该复选框。它有可能在android?
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
我的列表视图如下。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dip" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:focusable="false"
android:textColor="@color/white"
android:focusableInTouchMode="false"
android:text="CheckBox" />
<TextView
android:id="@+id/code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox1"
android:layout_alignBottom="@+id/checkBox1"
android:visibility="invisible"
android:textColor="@color/white"
android:layout_toRightOf="@+id/checkBox1"
android:text="TextView" />
这是我在主要活动xml中的列表
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
答案 0 :(得分:1)
1)你需要一个onItemClickListener
2)获取CheckBox
3)如果当前状态为
,则将CheckBox设置为相反
4)完成:))
listView.onItemClickListener(new OnItemClickListener(){ public void onItemSelected(AdapterView<?> adapter, View v, int position, long arg3){ CheckBox checkBox = v.findViewById(R.id.checkBox1); checkBox.setChecked(!checkBox.isChecked()); } });
答案 1 :(得分:0)
当有人点击列表项时,您已经有了响应的侦听器。 onItemClick方法中给出的视图是列表项。
现在您只需要从列表项中获取CheckBox:
final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox1);
然后你可以检查,如果用isChecked()检查它并用setChecked()设置它。