已解决!问题产生原因:子item的数据反复new对象,忘记填充实际数据
@Override
protected void convert(BaseViewHolder helper, EnterpriseSealBean item) {
helper.addOnClickListener(R.id.rv_content);
RecyclerView recyclerView = helper.getView(R.id.rv_content);
boolean expand = item.isExpand();
if (expand) {
recyclerView.setVisibility(View.VISIBLE);
} else {
recyclerView.setVisibility(View.GONE);
}
//todo:此处应该填充实际数据
List data = new ArrayList<>();
for (int i = 0; i < 5; i++) {
SealImageBean bean = new SealImageBean();
data.add(bean);
}
EnterpriseSealImageAdapter adapter = new EnterpriseSealImageAdapter(R.layout.item_enterprise_seal_image, data);
GridLayoutManager manager = new GridLayoutManager(mContext, 2);
recyclerView.setLayoutManager(manager);
// recyclerView.setNestedScrollingEnabled(false);
// recyclerView.setFocusableInTouchMode(false);
// recyclerView.requestFocus();
recyclerView.setAdapter(adapter);
//子RV的item点击
adapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Toast.makeText(mContext, "点击" + position, Toast.LENGTH_SHORT).show();
for (int i = 0; i < data.size(); i++) {
if (i != position) {
data.get(i).setDefault(false);//未选中
} else {
data.get(position).setDefault(true);//选中默认
}
}
adapter.notifyDataSetChanged();
}
});
}