【问题标题】:Values of checkboxes within custom adapter自定义适配器中复选框的值
【发布时间】:2014-04-01 21:01:50
【问题描述】:
我正在使用以下内容:
- 我有一个 DialogFragment,视图包含一个列表视图和一个按钮
- 列表视图包含一个图像视图、一个文本视图和一个复选框
- 我有一个用于列表视图的自定义适配器
在我的 DialogFragment 视图中按下按钮后,需要的是复选框的值。
我怎么做?如何从适配器外部访问仅在适配器内部(据我所知)知道的复选框的值?
我可以在我的适配器中添加一个公共方法来存储复选框的值吗?还是有别的办法?
【问题讨论】:
标签:
android
listview
checkbox
adapter
android-arrayadapter
【解决方案1】:
好的,你可以做什么......在你的适配器类中创建实例变量
SparseBooleanArray mCheckStates;
然后在构造函数中对其进行初始化,其中 data.length 是您要显示的值的长度
mCheckStates = new SparseBooleanArray(data.length);
然后您可以在适配器中实现方法,例如:
public boolean isChecked(int position) {
return mCheckStates.get(position, false);
}
public void setChecked(int position, boolean isChecked) {
mCheckStates.put(position, isChecked);
}
public void toggle(int position) {
setChecked(position, !isChecked(position));
}
你很高兴......有关更多信息,你可以看到这个链接:Get Selected Item Using Checkbox in Listview