我编写了代码来从数据库中获取值并将这些值绑定到listview。因为我现在根据需要使用了自定义列表视图我想要列表中每个项目的复选框。如何做到这一点
image=(ImageView)findViewById(R.id.image);
note=(ImageButton)findViewById(R.id.note);
tick=(ImageButton)findViewById(R.id.tick);
cross=(ImageButton)findViewById(R.id.cross);
Intent intent = getIntent();
Bitmap photo = (Bitmap) intent.getParcelableExtra("photooo");
image.setImageBitmap(photo);
if(photo!=null)
{
dbHelper = new RecordsDbAdapter(this);
dbHelper.open();
displayListView();
}
}
private void displayListView() {
Cursor cursor = dbHelper.fetchAllRecords();
String[] columns = new String[] {
RecordsDbAdapter.KEY_NAME,
RecordsDbAdapter.KEY_BIRTHDAY,
};
int[] to = new int[] {
R.id.name,
R.id.birthdate,
};
dataAdapter = new SimpleCursorAdapter(
this, R.layout.row,
cursor,
columns,
to);
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(dataAdapter);
}
}
答案 0 :(得分:5)
LayoutInflater inflater = getLayoutInflater();
convertView = inflater.inflate(R.layout.home1, null);
ViewHolder holder1 = new ViewHolder(); holder1.text =(TextView)convertView.findViewById(R.id.textView1);
holder1.ch=(CheckBox)convertView.findViewById(R.id.checkBox1);
holder1.ch .setTag(position);
答案 1 :(得分:1)
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="checkbox" />
然后像这样编辑你的代码: -
private void displayListView() {
Cursor cursor = dbHelper.fetchAllRecords();
String[] columns = new String[] {
RecordsDbAdapter.KEY_NAME,
RecordsDbAdapter.KEY_BIRTHDAY,
RecordsDbAdapter.KEY_CHECKBOX
};
int[] to = new int[] {
R.id.name,
R.id.birthdate,
R.id.checkbox
};
dataAdapter = new SimpleCursorAdapter(
this, R.layout.row,
cursor,
columns,
to);
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(dataAdapter);
}