REAQ 2023-01-23 21:03 采纳率: 75%
浏览 16
已结题

安卓在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中设置没反应。
  • 写回答

3条回答 默认 最新

  • Halifax ‎ 2023-01-23 21:28
    关注

    望采纳!!新年快乐🎉🎉

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月19日
  • 已采纳回答 2月11日
  • 创建了问题 1月23日

悬赏问题

  • ¥15 matlab在安装时报错 无法找到入口 无法定位程序输入点
  • ¥15 收益高的广告联盟有哪些
  • ¥15 Android Studio webview 的使用问题, 播放器横屏全屏
  • ¥15 删掉jdk后重新下载,Java web所需要的eclipse无法使用
  • ¥15 uniapp正式环境中通过webapi将本地数据推送到设备出现的跨域问题
  • ¥15 xui建立节点,显示错误
  • ¥15 关于#单片机#的问题:开始、复位、十进制的功能可以实现,但是切换八进制的功能无法实现(按下按键也没有效果),把初始状态调成八进制,也是八进制可以实现但是切换到十进制不行(相关搜索:汇编语言|计数器)
  • ¥15 VINS-Mono或Fusion中feature_manager中estimated_depth是特征的深度还是逆深度?
  • ¥15 谷歌浏览器如何备份抖音网页数据
  • ¥15 分别有什么商家下面需要非常多的骑手为它工作?