我要求有时ListView
中的复选框不可勾选。我使用setEnabled(false)
。
当用户仍然点击已停用的Checkbox
时,是否还会触发一个Toast消息?
我还使用自定义ArrayAdapter
覆盖getView
方法。
答案 0 :(得分:0)
你不能。他们称之为禁用的原因。
您可以使用相同的资源创建自定义复选框,但我想这只是浪费时间。用户将知道该复选框已禁用,因为禁用的小部件以30%alpha显示。
答案 1 :(得分:0)
您可以:)使用扩展CheckBox
并覆盖onTouchEvent
的帮助程序类,类似于:
public class DisabledTouchableCheckbox extends CheckBox {
public DisabledTouchableCheckBox(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if ((!isEnabled()) && (event.getAction()==MotionEvent.ACTION_DOWN))
showToast();
return super.onTouchEvent(event);
}
private void showToast() {
... show your toast
}
}
然后在您的XML中,您必须更改<CheckBox>
的{{1}}