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

关键:点击‘下拉’,跳转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与Hibernate开发-->JavaWeb应用入门(Ⅰ)
  Java网络编程-->Web运作原理(Ⅲ)
  精通Spring-->通过JPA API检索数据
  Vue3开发-->JPA API的高级用法
  Android网络编程之WebKit应用
  Android OpenGL 学习笔记
  Android开发随想:iPhone和Android之间的对话
  Android 自定义Menu
  通过Https访问的Not trusted Server Certificate的问题的解决...
  Android带有粘性头部的ScrollView-WelliJohn的博客
  Android UI学习 - 用户通知-学习Android
  Android自动化测试之Robotium学习
  Android中的几个布局
  Android SDCard UnMounted 流程分析
  Android HelloGallery范例实验记录
  Android SDCard Mount 流程分析
  UI渲染机制以及优化
  android 系统自带的卡帧警告
  Android 判断当前设备是手机还是平板
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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