当前,我尝试在recyclerView的viewpager中更改视图的值。
我无法通过标签找到任何视图。所有返回值均为空。尽管我可以在CustomViewPagerAdapter中更改instantiateItem中的值。
在viewpager中,每个视图都有4个XML文件。另外,RecyclerView的行XML的内部只有一个ViewPager。
尝试在InstantiateItem上使用setTag,并在 onBindViewHolder 上使用viewPager.findViewWithTag。 ViewPager捍卫并在 onCreateViewHolder 中对齐。但它返回null(找不到视图)
试图在InstantiateItem方法中设置TextView。并调整onBindViewHolder类型的值,例如“(((CustomViewPagerAdapter)viewPager.getAdapter())。textview.setText(someValue)”,但textView为null。即使我可以在InstantiateItem方法的内部调整值。
尝试在onBindViewHolder中调用InstantiateItem,例如viewHolder.viewPager.getAdapter()。instantiateItem()以获取textView参考。这样,我可以为findViewById调用find textView,也可以调用setText。但是价值观没有改变。严重的是,不知道出了什么问题。
尝试从onBindViewHolder中的CustomViewPagerAdapter中将值更改为 custom Set方法,例如UpdateString(String string)。为此,我在CustomViewPagerAdapter中定义了一个textView变量,如下所示。
@Override
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(), collection, false);
collection.addView(layout);
if(position == 3)
{
mTextView = layout.findViewById(R.id.textView);
}
public void UpdateString(String string)
{
if(mTextView != null)
{
mTextView.setText("some text");
}
}
但是当我尝试从上述自定义设置方法更改值时,mTextView仍然为null。即使在 instantiateItem 中不为空。
我在CustomViewPagerAdapter中的InstantiateItem方法
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup layout = (ViewGroup) inflater.inflate(LayoutId, collection, false);
collection.addView(layout);
layout.setTag(LayoutId);
return layout
我的onBindViewHolder
CustomPagerAdapter adapter = new CustomPagerAdapter(mContext);
clipViewHolder.myPager.setAdapter(adapter);
if(stateArray.get(position) > 0 && stateArray.get(position) <= 4)
{
clipViewHolder.myPager.setCurrentItem(stateArray.get(position) - 1);
}
else
{
clipViewHolder.myPager.setCurrentItem(3, true);
stateArray.append(position, clipViewHolder.myPager.getCurrentItem() + 1);
}
我想在onBindViewHolder方法的viewPager中更改特定视图中的值。