繁体   English   中英

这段代码:“ performClick()”,不能完全正常工作吗?

[英]This code: “performClick()”, doesn't work completely?

    CheckBox1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (CheckBox1.isChecked()) {
                doThis();
            } else {
                doThis();
            }
        }
    });


 private void doThis() {
       String sar="1";   

       try {
        if (sar.equals("")) {
            l_view.performItemClick(l_view, Integer.parseInt(Integer.parseInt(sar)), l_view.getItemIdAtPosition(Integer.parseInt(sar)));
        }
        if (sar.equals("1")) {
            l_view.performItemClick(l_view, Integer.parseInt(Integer.parseInt(sar)), l_view.getItemIdAtPosition(Integer.parseInt(sar)));
        }

    } catch (Exception e) {
    }
}

如果我手动单击复选框,此代码将非常有效。

但是如果我使用CheckBox1.performClick(); 复选框已选中,但doThis()不起作用。

我怎样才能做到这一点? 感谢您的帮助。

将您的onClickListener更改为此

    CheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    doThis();
                } else {
                    doThis();
                }
            }
        });

看到这张图片

我找到了解决方案。 感谢您的帮助。

private void delay() {
    new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
        @Override
        public void run() {
           doThis();
        }
    }, 500);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM