gpt4 book ai didi

android - RecyclerView.ViewHolder 在 onBindViewHolder 方法之外变为 null

转载 作者:行者123 更新时间:2023-11-30 00:48:16 26 4
gpt4 key购买 nike

我正在创建一个自定义适配器,我在其中使用两个 View 持有者,如果列表位于位置 0,持有者对象将被转换到第一个 View 持有者,否则将被转换到第二个。问题是当我在 onBindViewHolder 之外使用第一个 View 持有者对象时,它会抛出空指针异常。这是我的代码

    @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (position == 0) {
firstholder = (FirstHolder) holder;
} else {
secondholder = (SecondHolder) holder;
}
}
public void runnable(final int size) {
handler = new Handler();
runnable = new Runnable() {
@Override
public void run() {
if (firstholder.ViewPager.getCurrentItem() == size - 1) {
firstholder.ViewPager.setCurrentItem(0);
} else {
firstholder.ViewPager.setCurrentItem(firstholder.ViewPager.getCurrentItem() + 1, true); }
handler.removeCallbacks(Runnable);
handler.postDelayed(Runnable, 1000);
}
}
};
}

它在runnable 中调用时抛出异常。注意:两个viewholder对象都是全局的

最佳答案

尝试使用这个

final int itemType = getItemViewType(position);

if (itemType == 0) {
firstholder = (FirstHolder) holder;
}else {
secondholder = (SecondHolder) holder;
}

关于android - RecyclerView.ViewHolder 在 onBindViewHolder 方法之外变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com