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

关键:点击‘下拉’,跳转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开发-->JSP技术详解(Ⅱ)
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->非阻塞通信
  精通Spring-->CSS过渡和动画
  Vue3开发-->通过Axios访问服务器
  Android自定义组件
  android异步更新UI
  Android实用测试方法之Monkey与MonkeyRunner
  Android--Widget开发
  Android的Service和广播的讲解
  Android静默安装的实现
  Android忽略HTTPS安全验证的解决
  Android Camera2.0 结合ImageReader拍照并解决图片偏转问题
  Android仿Volley手写属于自己的万能网络访问框架
  Android 概述
  安卓sqlite和Listview
  Android_实现商品详情的展示页及布局
  程序员笔记|JSBridge框架解决通信问题实现移动端跨平台开发
  Android网络编程之Http通信
  Android Resource介绍和使用-学习Android
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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