我希望能够从SQLite数据库(ArrayList)中获取一组可滚动的数据,其中单击一个项目时,它会保持单击状态(即背景更改),并且某些元素的引用会被点击,然后如果按下另一个小部件(例如按钮),则对突出显示的项目执行一些操作。请参阅下文,了解我的意思。这是一个非常简化的版本。
因此,当选择“测试项目1”时,背景保持黄色,按下删除时,项目将从列表和数据库中删除。
我该如何解决这个问题?那里有没有教程?任何帮助表示赞赏。
答案 0 :(得分:0)
我可以使用ListView并制作自定义解决方案。其中包含垂直LinearLayout的ScrollView(用于获取滚动行为),您可以使用ToggleButton模仿可选项的行为。将ToggleButtons设置为layout_width =“fill_parent”并将背景设置为自定义StateListDrawable。您可以在调用包含活动中的方法的ToggleButtons上添加回调,以更新“已选择”项。
答案 1 :(得分:0)
将Rich的解决方案与动态数据结合使用会产生风险。 Android的列表组件包含许多自动化内存管理技巧。将ScrollView + LinearLayout与大型数据集一起使用可能会导致您的应用无响应。
这是一个非常简单的示例,说明如何使用标准列表组件真正接近您想要做的事情: http://www.androidpeople.com/android-listview-multiple-choice-example/
如果您对该解决方案的视觉效果不满意,那么您可以继续前进。