首页 > 解决方案 > 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;

标签: androidimage

解决方案


是的。它按预期工作。您需要删除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();
}

推荐阅读