[英]Android: Dealing with CheckBox in a ListView
我正在使用SimpleAdapter
用以下代码填充ListView
。
SimpleAdapter adapter = new SimpleAdapter(this,
saleDriver.getOutstandings(clientId),
R.layout.outstanding_list_row, new String[] { "sale_id",
"sale_date", "invoice_number", "sale_total", },
new int[] { R.id.tt_check_box, R.id.tt_invoice_date,
R.id.tt_invoice_no, R.id.tt_invoice_tot });
setListAdapter(adapter);
根据上面的代码,我在listview
CheckBox (R.id.tt_check_box)
sale_id
与CheckBox (R.id.tt_check_box)
绑定了。 当我运行程序时, checkboxes
值以文本形式显示在checkboxes
右侧。 但我不想显示它们。
我的实际需要是,当用户选中checkboxes
,我需要将sale_id
与它们绑定。
我如何在我的Java程序中访问sale_id
与选中的checkboxes
绑定?
采用
android.R.layout.simple_list_item_multiple_choice
覆盖SimpleAdapter中的getView()函数,并使用sale_id的值来选中/取消选中该复选框。 然后,将此自定义适配器用于您的列表。
编辑:在看另一个答案时,我的猜测是您需要的是“多项选择”解决方案,而不是这个(因为您需要找出选择项)。 此解决方案更多是根据现有数据显示复选框。 如果您仍然需要此代码,请告诉我,一旦我可以访问我的代码,我将发布示例代码。
我已附上代码以获得与多选复选框一起使用的listview。
public class MultiChoiceActivity extends Activity {
String [] choice = {“选择A”,“选择B”,“选择C”,“选择D”,“选择E”}};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
choiceList = (ListView)findViewById(R.id.list);
ArrayAdapter<String> adapter
= new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
choice);
choiceList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
choiceList.setAdapter(adapter);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.