我遇到了一个大问题:我想在android上制作三个状态复选框.它是带有复选框的ListView上的复选框.它应该允许用户在三种状态之间切换:
并且可选择在变化时保持misc状态.
如果我是对的,我应该创建CompoundButton类的子类并实现boolean mchecked的int mstate intead.然后我应该覆盖事件监听器,保存状态的函数,以及状态getter和setter.
我的问题基本上是如何实现的?如何在可绘制状态之间切换?(我已经在xml中实现了middle_state)以及如何正确实现事件处理程序?
这是我开始实施的:
public class TriStateCheckBox extends CompoundButton{
private int state;
public TriStateCheckBox(Context context) {
super(context);
}
public static interface onCheckChangedListener{
void onCheckChanged(TriStateCheckBox view, int state);
}
public void onCheckChanged(TriStateCheckBox view, int state){
this.state = state;
}
}
Run Code Online (Sandbox Code Playgroud)
这是股票CompoundButton的代码:
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the …Run Code Online (Sandbox Code Playgroud)