Java 将复选框与服务一起使用
是否可以在Android中使用服务的Java 将复选框与服务一起使用,java,android,android-checkbox,Java,Android,Android Checkbox,是否可以在Android中使用服务的复选框?因为我正在使用以下代码,并且服务不关心我是否选中复选框 LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.activity_main, null); CheckBox deleteImage = view.findViewById(R.id.d
复选框
?因为我正在使用以下代码,并且服务不关心我是否选中复选框
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.activity_main, null);
CheckBox deleteImage = view.findViewById(R.id.deleteImage);
if (deleteImage.isChecked()) {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.exists()) {
if (fileEntry.delete())
System.out.println("Image deleted");
else
System.out.println(fileEntry + " not able to delete");
}
}
} else
System.out.println("Don't delete images");
如果在线程等待期间选中了复选框
,则服务应删除图像。它仅适用于deleteImage.setCheck(true)代码>您必须使用它来侦听复选框更改
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.exists()) {
if (fileEntry.delete())
System.out.println("Image deleted");
else
System.out.println(fileEntry + " not able to delete");
}
}
} else
System.out.println("Don't delete images");
}
});
使用setOnCheckedChangeListener
如果在TimeUnit.millides.sleep()
期间进行更改,该选项是否有效?如果我在TimeUnit.millides.sleep(Math.max(date System.currentTimeMillis(),0))期间选中复选框,该选项是否有效代码>因为我刚刚尝试过,但它对我不起作用:(因为代码应该只在一天中的某个特定时间执行,并且代码也在一个外部线程中,而不是在主线程中。是的,上面的代码在后台服务中,如果选中复选框,则服务应该在下次到达此代码时删除图像,因为服务在特定时间执行代码。)一天一次。这可能是因为我读到不可能将UI与服务进行比较。我希望您能帮助我:)