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

关键:点击‘下拉’,跳转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
网站系统异常


系统异常信息
Request URL: http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?postID=1134&replyID=0&skin=1&saveSkin=true&pages=1&replyNum=

java.lang.NullPointerException

如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员