>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21938 个阅读者 刷新本主题
 * 贴子主题:  下拉框+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面向对象编程-->面向对象开发方法概述之UML语言(下)
  JavaWeb开发-->JSP技术详解(Ⅱ)
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->Java网络编程入门
  精通Spring-->绑定CSS样式
  Vue3开发-->绑定CSS样式
  Android Gallery实现循环显示图像
  Android之TabHost
  android异步更新UI
  Android 手势操作GestureDetector
  Android 使用SQLite数据库
  Android网络编程之WebKit应用
  总是听到有人说AndroidX,到底什么是AndroidX?
  UI渲染优化
  android 系统自带的卡帧警告
  android 自定义view 实现定制二维码扫描框
  怎么让软键盘弹出时,部分控件上移
  Matrix源码分析
  Android 之不要滥用 SharedPreferences(下)
  RecyclerView顶部阴影透明度渐变效果
  Android中NDK的含义和作用
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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