布尔值vs布尔值作为trilean开关

Ada*_*old 4 java boolean anonymous-class

我正在开发一个Android应用程序,我刚刚碰到了一些东西.我有一些匿名类(事件监听器).它们是从数据库中参数化的.我做的是这样的:

buttonA.setOnTouchListener(new View.OnTouchListener() {
                        private Boolean isActive = null;
                        private boolean isTrigger;
                        private int onLevel;
                        private int offLevel;
                        private int chIdx;

                        @Override
                        public boolean onTouch(View v, MotionEvent event) {
                            if (isActive == null) {
                                Cursor btnSettings = dbHelper.getButtonsTable().fetchButton(1, profileId, currentMode);
                                ...
...
                            }
                            return true;
                        }
Run Code Online (Sandbox Code Playgroud)

将布尔对象用作trilean开关(如果侦听器尚未参数化,它具有空值)或者我应该使用两个布尔变量...或者可能是整数?

你有想法吗?

Jef*_*ter 14

最好的是,使用一种类型(可能是枚举),准确描述三种状态.布尔人不会向调用该函数的人提供大量信息(特别是当用作三态时).

public enum ActiveStatus {
  On,
  Off,
  Unknown
}
Run Code Online (Sandbox Code Playgroud)