@Override
public void onBindChildViewHolder(@NonNull final MyChildViewHodler childViewHolder, final int parentPosition, final int childPosition, @NonNull final Course child) {
childViewHolder.childProgress.setTextColor(context.getResources().getColor(R.color.lerning_child));
childViewHolder.childProgress.setVisibility(View.VISIBLE);
childViewHolder.imgCertification.setVisibility(View.GONE);
Log.e("MyLerningFragmentAdapter=CREATE", parentPosition + " " + childPosition + "");
if (parentPosition!=0){
childViewHolder.rippleLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("MyLerningFragmentAdapter=CLICK", parentPosition + " " + childPosition + "");
}
});
}
显然,我没有以正确的方式添加监听器。那怎么办?
我需要在哪里添加它才能使其工作。我对 ListView 有同样的问题。这是附加的另一个视频。为了更清楚
RecyclerView
重用createdViewHolder
的,以便在滚动长列表时不创建许多新对象。当滚动列表时,当一个新元素出现在屏幕上时,适配器会使用一个ViewHolder
离开屏幕的已用 ov 并用新数据填充它。因为 你有支票吗
,当滚动到顶部时,第0个父元素的元素出现在屏幕上时,
OnClickListener
并没有设置新的,而是与ViewHolder
创建时的'a相同,用于显示这个新元素。更新。回复评论。
例如,您可以这样:
但是,当然,最好不要专门绑定到数字,而是在类中使用一个附加字段
Parent
,其中一个值表示 4,另一个值表示所有其他值。然后使用类似的东西:我不能看视频。像这样尝试