相关疑难解决方法(0)

在android上创建一个三态复选框

我遇到了一个大问题:我想在android上制作三个状态复选框.它是带有复选框的ListView上的复选框.它应该允许用户在三种状态之间切换:

  • 全部检查过
  • 没人检查过
  • misc检查

并且可选择在变化时保持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)

java checkbox android

17
推荐指数
3
解决办法
7967
查看次数

标签 统计

android ×1

checkbox ×1

java ×1