>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 31010 个阅读者 刷新本主题
 * 贴子主题:  下拉框+Switch开关控件 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2025-11-06 08:09:57     消息  查看  搜索  好友  邮件  复制  引用

关键:点击‘下拉’,跳转popuwindow,不需要来回传递集合的值,只需修改即可

先看效果(在popuwindow中选择几个,tablayout对应有几个)
  点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
效果图1
点击下拉箭头后:
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
效果图2

主要代码

public void popu() {
    ...(省略popuwindow的创建)
  ( btn_ok是图上的确认按钮)
    
     btn_ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //消失
                initTab();//要最新的集合
                popupWindow.dismiss();
            }
        });
}

initTab()方法
//TabSwitchBean  String title, boolean isChecked;
private ArrayList<TabSwitchBean> list = new ArrayList<>();
private void initTab() {
        //将tablayout里面的清空     juejinTab--tablayout控件
        juejinTab.removeAllTabs();

        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getisChecked()) {//如果集合中被选择
                juejinTab.addTab(juejinTab.newTab().setText(list.get(i).getTitle()));//设置给TABLayout
            }
        }
    }

适配器中
  @Override
    public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
        //先初始化状态
        final TabSwitchBean bean = myBeans.get(position);
        holder.aSwitch.setChecked(bean.getisChecked());
        //给switch设置改变监听
        holder.aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked){
                    holder.aSwitch.setChecked(true);//改变控件状态
                    myBeans.get(position).setChecked(true);//改变集合数据
                }else {
                    holder.aSwitch.setChecked(false);
                    myBeans.get(position).setChecked(false);
                }
            }
        });
    }

----------------------------
原文链接:https://www.jianshu.com/p/de6a3f186b22



程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->流程控制
  JavaWeb开发-->使用Session(Ⅱ)
  JSP与Hibernate开发-->映射一对多关联关系
  Java网络编程-->Socket用法详解
  精通Spring-->CSS过渡和动画
  Vue3开发-->Vue CLI脚手架工具
  Android Gallery实现循环显示图像
  Android自定义组件
  Android多线程及异步处理问题
  Android 安装实战
  Android 自定义Menu
  Android 滚动Tab
  编译Irrlicht On Android
  Android 消息推送
  Android多线程断点续传
  Android UI学习 - TableLayout使用范例
  android 拼图小游戏
  Android 应用程序组件
  Android_实现商品详情的展示页及布局
  Matrix源码分析
  RecyclerView顶部阴影透明度渐变效果
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。