【发布时间】:2014-02-22 17:59:15
【问题描述】:
如果不使用 listactivity,在一个简单的活动中,我如何在左侧有复选框,然后是右侧的文本,用于列表视图的每一行。如果我点击任何一行,则应选中该复选框。
【问题讨论】:
-
它扩展了一个列表活动,这不是我的情况
如果不使用 listactivity,在一个简单的活动中,我如何在左侧有复选框,然后是右侧的文本,用于列表视图的每一行。如果我点击任何一行,则应选中该复选框。
【问题讨论】:
只需从 xml 中获取参考,使用:
listView=(ListView)findViewById(R.id.listView);
为您的活动设置适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, arr);
listView.setAdapter(adapter);
将选择模式设置为单选模式或多选模式
listVIew.setChoiceMode(ListView.Choice_Mode_Mutlitple);
现在您可以在列表视图中选择和取消选择复选框。
【讨论】:
查看本教程 - 它会让您了解如何实现自定义列表视图项布局。
http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/
要在单击整个项目的任何部分时更改复选框的状态,请将 OnClickListener 添加到项目的布局根元素 (convertView) 并在此处切换复选框状态。
PS不要介意那里的 ListActivity 东西。无论哪种方式,它都会起作用。重要的是自定义 Adapter 和它的 getView() 方法,它可以扩展您的项目的自定义布局。
UPD 这里有一个更合适的方法来完成你想要的:你的项目应该实现 Checkable,然后你可以使用 ListViews singleChoice 或 multipleChoice 模式。这是一个已回答的问题,尽管答案似乎错过了有关复选框的实际部分。但我敢打赌,你可以弄清楚,重要的是想法:
Android ListView with RadioButton/CheckBox in singleChoice mode and a custom row layout
【讨论】: