我正在Android中进行多项选择<table id="table_view_subs">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
</tbody>
</table>
,以便删除所选项目。
复选框最初是不可见的,主要逻辑是当长时间单击单个视图时,所有复选框都是可见的。
我正在执行RecyclerView
中的长按,只有被单击的一个可见。
这是我的适配器:
onBindViewHolder
我希望你们能帮助我找到问题,甚至可以告诉我适配器方法的工作方式。
答案 0 :(得分:2)
I wish you create a boolean flag which will indicate visibility of all the checkboxes and call notifyDataSetChanged()
to rebind items:
private boolean mAreCheckboxesVisible = false;
// ...
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
// ...
holder.checkBox.setVisibility(mAreCheckboxesVisible ? View.VISIBLE : View.GONE);
holder.cardView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
mAreCheckboxesVisible = true;
notifyDataSetChanged();
return true;
}
});
}
And if you want to escape selection mode:
mAreCheckboxesVisible = false;
notifyDataSetChanged();