多选框显示并存储 通过Math.pow(2,i)函数

如图需要做一个多选框显示并存储。一开始采用了  字符串+","去存储和读取。通过split方法遍历出是否选中。

后来。采用了把所有的条目循环累加进行读取操作,   Math.pow(2,i) 函数,保证唯一性。并优化了代码。

代码如下:


/**
 * 保存文件类型的配置数
 * @param booleen
 */
public  void setOption(boolean[] booleen){
   int count = 0;
   for (int i = 0; i<booleen.length; i++){
      if(booleen[i]){
         count += Math.pow(2,i);
      }
   }
   spUtils.put("count",count);

}

/**
 * 读取文件类型的总设置数
 */
public void getOption(){
   int count = spUtils.getInt("count");
   for(int i = 0 ; i < booleen.length;i++) {
      double pow = Math.pow(2, i);
      if ((count & (int)pow) > 0) {   //只要能被2的倍数与运算成功 就代表为选中窗体
         booleen[i] = true;
      }
      else {
         booleen[i] = false;
      }
   }
}



测试结果:只有2的倍数才可以。


相关文章:

  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2021-12-21
  • 2021-04-19
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-18
  • 2022-01-30
  • 2021-07-07
  • 2021-09-05
  • 2022-12-23
  • 2021-07-05
  • 2021-06-11
相关资源
相似解决方案