Мне нужно было сопоставить флажки с их положением в виде списка в флажках onClickListener. Моим первым решением было сделать очень короткий пользовательский вид, который расширил флажок, но имел дополнительную переменную (позицию), которая будет установлена в getView().Пользовательский класс checkbox в android
public class ListCheckBox extends CheckBox {
private int position = -1;
public ListCheckBox(Context context)
{super(context);}
public ListCheckBox(Context context, AttributeSet attrs)
{super(context,attrs);}
public ListCheckBox(Context context, AttributeSet attrs, int defStyleAttr)
{super(context,attrs,defStyleAttr);}
@TargetApi(21)
public ListCheckBox(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{super(context,attrs,defStyleAttr,defStyleRes);}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
}
Он работал, за исключением того, что изменили цвет Флажки на черный, и ничего я сделал (в том числе меняющегося андроида: buttonTint) не может изменить его. На данный момент мое решение - это HashMap с ключом представления и целочисленным значением, которое отслеживает флажки и их позиции, но если у кого-то есть менее уродливое решение или какая-либо идея относительно того, почему я не мог изменить цвет флажков, это было бы очень признательно.