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()
无效。
我该怎么做?谢谢你的帮助。
答案 0 :(得分:0)
将onClickListener更改为此
CheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
doThis();
} else {
doThis();
}
}
});
答案 1 :(得分:0)
我找到了解决方案。谢谢你的帮助。
private void delay() {
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
doThis();
}
}, 500);
}