自定义广播组不在Marshmallow中工作

时间:2017-04-27 17:45:02

标签: android radio-group

我有多个单选按钮并将单选按钮放在所需的位置我将这些单选按钮包装在不同的布局中,如线性和相对位置,因此将这些布局包装在无线电组下不会调查目的并为此我写了自定义RadioGroup。

由于无线电组用户的行为只能选择一个单选按钮。我在Lollipop和Marshmallow测试过它在Marshmallow中表现不正常(用户可以选择多个单选按钮)

这是代码。

public class AgentRadioGroup extends RadioGroup
{
    private static final String TAG = "AgentRadioGroup";

    public AgentRadioGroup(Context context) {
        super(context);
    }

    public AgentRadioGroup(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void onViewAdded(View child) {
        if( child instanceof ViewGroup)
        {
            ViewGroup viewGroup = (ViewGroup) child;
            for(int i=0; i<viewGroup.getChildCount(); i++)
            {
                View subChild = viewGroup.getChildAt(i);
                if( subChild instanceof ViewGroup )
                {
                    onViewAdded(subChild);
                }
                else
                {
                    if (subChild instanceof RadioButton) {
                        super.onViewAdded(subChild);
                        Log.d(TAG, "Radio button added!");
                    }
                }
            }
        }
        if (child instanceof RadioButton)
        {
            super.onViewAdded(child);
        }
    }
}

0 个答案:

没有答案