【问题标题】:Checkbox not setChecked not smoothly复选框未设置检查不顺利
【发布时间】:2020-10-13 00:22:21
【问题描述】:

我有一个CheckBox,我为它设置了OnCheckedChangeListener,在onCheckedChange 方法中我有大量代码。当我想设置Checkbox.checked 时,它会稍微延迟检查。我希望它在onCheckedChange 方法中使用post 和runnable 设置检查平滑,没有延迟,但它没有改变。

【问题讨论】:

  • 发布您的代码......

标签: android checkbox android-checkbox smoothing


【解决方案1】:

尝试使用线程,我认为它会有所帮助

new Thread(new Runnable() { 
        public void run(){        
            // Your heavy code
        }
    }).start();

【讨论】:

    【解决方案2】:

    您可以使用 setOnClickListener,在 onClick 方法中编写您的代码.. 要获取复选框的状态,您可以使用返回布尔值的 isChecked() 方法。

    c.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    
                boolean checked = ((CheckBox) v).isChecked();
                switch (v.getId()) {
    
                    case R.id.checkboxid:
    
                        if (checked) {
                            //true case
                        } else {
                            //false case
                        }
                        break;
                }
            }
        });
    

    【讨论】:

      【解决方案3】:

      在 View 上的帖子和帖子没有帮助,但 postDelayed 帮助了我

      @Override
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         final int id = buttonView.getId();
      
      
          buttonView.postDelayed(new Runnable() {
              @Override
              public void run() {
      
                 //hard code
      
      
                  }
      
      
              }
          },400);
      

      }

      【讨论】:

        猜你喜欢
        • 2015-06-26
        • 1970-01-01
        • 1970-01-01
        • 2016-12-31
        • 1970-01-01
        • 1970-01-01
        • 2018-02-09
        • 2021-09-28
        • 2015-11-26
        相关资源
        最近更新 更多