尝试在动态生成的表行上设置开关的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);
当我尝试单击开关时,没有任何反应。有任何想法吗?
答案 0 :(得分:1)
我通过参考this thread找到了一种解决方案,该方法可以设置这三个属性,并且现在可以正常工作:
toggleOffOn.setFocusable(false);
toggleOffOn.setFocusableInTouchMode(false);
toggleOffOn.setClickable(true);