android - ViewPager 上的 RemoveView 功能不起作用
问题描述
我正在尝试从 ViewGroup 类型的容器中删除视图,如下所示,并将其转换为 ViewPager,但我注意到 removeView() 函数不起作用,就像现在一样,我不确定我是什么做错了。我需要帮助。
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
ViewPager viewPager = (ViewPager)container;
View view = (View)object;
ViewPager.removeView(view); //removeView is not working
layoutInflater = (LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view=layoutInflater.inflate(R.layout.custom_layout,null);
ImageView imageView = (ImageView) view.findViewById(R.id.myImageView);
imageView.setImageResource(images[position]);
ViewPager viewPager = (ViewPager)container;
ViewPager.addView(view);
return view;
解决方案
是的。它按预期工作。您需要删除ViewPager
适配器的项目,而不是执行上述操作。像下面的东西。
// Delete a page at a `position`
public void deletePage(int position) {
// Remove the corresponding item in the data set
pageIndexes.remove(position);
// Notify the adapter that the data set is changed
notifyDataSetChanged();
}
推荐阅读
- angular - 如何使用 Angular 通用创建 Angular 自定义元素:SSR
- javascript - 如何限制输入数字范围?
- c++ - 根据 C++ 中的外部输入选择类
- python - 正则表达式没有字符应该重复
- python - 如何从 numpy 数组中删除一个元素,然后将其放回列表中
- javascript - JavaScript:异构数组 - HashMap 或 HashTable
- ios - 如何以编程方式创建动态文本字段
- c# - QR 码扫描仪与 C# WPF 的集成
- ms-access - 在 Access 2016 中运行 VBA 时 IDE 冻结
- java - Kafka - 序列化异常;前导零误差