安卓在fragment中切换radiobutton的背景无效果

安卓广告轮播图的小圆点是radioButton,在活动中设置backgroundResource的时候可以改变背景颜色,但是在fragment中的onresume调用却不行
//      轮播图,主活动中设置
        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) ViewPager2 viewPager2 =findViewById(R.id.viewpager);
        viewPager2.setAdapter(new Adapter(MainActivity.this));
        RadioButton button=findViewById(R.id.dot2);
        button.setBackgroundResource(R.drawable.dot_selected);


//fragment中
 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v1=LayoutInflater.from(context).inflate(R.layout.fragment_home, null, false);
        dots.add(v1.findViewById(R.id.dot1));
        dots.add(v1.findViewById(R.id.dot2));
        dots.add(v1.findViewById(R.id.dot3));
        dots.add(v1.findViewById(R.id.dot4));
        dots.add(v1.findViewById(R.id.dot5));

        View v=inflater.inflate(R.layout.recycle_picture_fragment, container, false);
        ImageView view=v.findViewById(R.id.imgView);
        view.setImageResource(imgs.get(index));
        return v;
    }

    @Override
    public void onResume() {
        Log.d("OnResume","Onresume调用");
        super.onResume();
        Log.d("LIST",dots.size()+"");
        dots.get(0).setBackgroundResource(R.drawable.dot_selected);

//        dots.get(adapter.nowIndex).setBackgroundResource(R.drawable.dot_unselected);
//        adapter.nowIndex=index;
//        dots.get(adapter.nowIndex).setBackgroundResource(R.drawable.dot_selected);
    }
我是想在viewpage2切换fragment时,在frag中清除上个小圆点的选中状态,同时设置对应当前frag小圆点的选中状态。但是设置在frag中设置没反应。

望采纳!!新年快乐🎉🎉

你可以使用 viewpager2 调用registerOnPageChangeCallback,去监听 viewPager2 滑动监听。

可在onPageSelected 回调方法里面,通过 position 来设置按钮选中的样式,然后再去设置集合 dots 里面其他位置的按钮背景清空。
serBackground(null)

这个是fragment的生命周期的问题,看看日志,这个resume是否执行,还有一点就是更改UI只能在主线程中进行。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^