java - 无法从集合中删除整数

标签 java android set

我的线路 m_schedules.get(0).getWeeklyScheduleSet().remove(day); 有问题
我无法删除 Integer索姆 Set<>

删除函数返回 true。如果我询问它是否包含该对象,该集合将返回 true。但它根本没有删除它。所以我不知道如何解决这个问题。

private void setupToggleDays() {
        ViewGroup daysToggleHolder = (ViewGroup) findViewById(R.id.activity_geofence_schedule_days_holder);
        m_daysToggleButtons = new ToggleButton[7];

        Calendar cal = Calendar.getInstance();
        int currWeekDayIndex = cal.getFirstDayOfWeek();

        for (int i = 0; i < 7; i++) {
          final int day = currWeekDayIndex;
          ToggleButton dayToggleButton = (ToggleButton) daysToggleHolder.getChildAt(i);
          m_daysToggleButtons[i] = dayToggleButton;
          dayToggleButton.setChecked(m_schedules.get(0).getWeeklyScheduleSet().contains(day));

          dayToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
              if(isChecked){
                m_schedules.get(0).getWeeklyScheduleSet().add(day);
              }
              else {
                m_schedules.get(0).getWeeklyScheduleSet().remove(day);
              }
            }
          });
          currWeekDayIndex = (currWeekDayIndex % 7) + 1;
        }
      }

最佳答案

day 是一个局部变量,您正在从特定事件的 Set 中删除值,因此 day 值将不是您在方法中设置的值。所以尝试将日子作为字段

关于java - 无法从集合中删除整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35943370/

相关文章:

java - Spring Autowired 服务为空

java - 如何使用语言模型扩展 Lucene?

安卓工作室 3.3.1 :Some breakpoints are shown without the tick and not being hit

java - Spring Boot,通过 POST 从 InputStream 上传文件时出现 RestTemplate 异常

java - 判断一个圆圈是否在另一个圆圈内

java - 以mjpeg和h.264格式从IP摄像机流式传输音频和视频

android - 如何以编程方式创建 "Launcher" Activity ?

java - 使用集合时验证重复的用户条目

java - 如何将具有唯一字段的对象添加到 Set

Java集合插入: Set vs.列表