我在android中很新。我想在每个项目上创建一个带有切换按钮的列表视图。单击列表项上的文本时,我想打开一个新活动。并在单击切换按钮时更改切换按钮的状态。UI 如下所示。
第 1 项 |正确
第 2 项 |错误
第 3 项 |正确
我知道在列表视图上单击时如何打开新活动。我知道如何更改切换按钮的状态。但我不知道,如何在列表视图上设置切换按钮,单击列表视图不影响切换按钮,单击切换按钮不影响列表视图。也许两者都应该有单独的听众。但我无法弄清楚如何。
我在android中很新。我想在每个项目上创建一个带有切换按钮的列表视图。单击列表项上的文本时,我想打开一个新活动。并在单击切换按钮时更改切换按钮的状态。UI 如下所示。
我知道在列表视图上单击时如何打开新活动。我知道如何更改切换按钮的状态。但我不知道,如何在列表视图上设置切换按钮,单击列表视图不影响切换按钮,单击切换按钮不影响列表视图。也许两者都应该有单独的听众。但我无法弄清楚如何。
对于寻找答案的人。这篇文章确实帮助我实现了预期。
基本思想是做如下的事情。
public class DontPressWithParentButton extends Button {
public DontPressWithParentButton(Context context) {
super(context);
}
public DontPressWithParentButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DontPressWithParentButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setPressed(boolean pressed) {
if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
}