表格行中的切换按钮未注册点击事件

时间:2018-07-19 02:48:38

标签: java android tablerow

尝试在动态生成的表行上设置开关的onClick侦听器时遇到问题。这是代码:

TableRow row = new TableRow(this.getActivity());
Switch toggleOffOn = new Switch(new ContextThemeWrapper(this.getActivity(), R.style.Switch), null, 0);
boolean toggleValue = Boolean.valueOf(templateDirs.get(i).get(4));
        toggleOffOn.setChecked(toggleValue);
        toggleOffOn.setLayoutParams(new android.widget.TableRow.LayoutParams(100, android.widget.TableRow.LayoutParams.WRAP_CONTENT));
        toggleOffOn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked) System.out.println("TURE");
                else System.out.println("FALSE");
            }
        });
row.addView(toggleOffOn);
tableEditReminders.addView(row);

当我尝试单击开关时,没有任何反应。有任何想法吗?

1 个答案:

答案 0 :(得分:1)

我通过参考this thread找到了一种解决方案,该方法可以设置这三个属性,并且现在可以正常工作:

toggleOffOn.setFocusable(false);
toggleOffOn.setFocusableInTouchMode(false);
toggleOffOn.setClickable(true);
相关问题