Фокус просмотра списка Android - PullRequest
1 голос
/ 11 января 2012

Я занимаюсь разработкой приложения для списка воспроизведения для Android, в котором ListView содержит название песни (TextView) в качестве элемента списка.

По мере воспроизведения песни я хочу выделить элемент в списке до песнизаканчивается.Это указывает на то, какая песня в данный момент воспроизводится.

Я попробовал setSelection API из списка, но он не работал.

1 Ответ

3 голосов
/ 11 января 2012

Ваш элемент списка должен реализовывать интерфейс Checkable:

public class CheckableTextView extends TextView implements Checkable {

    private boolean mChecked = false;

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

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

    public CheckableTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean isChecked() {
        return mChecked;
    }

    @Override
    public void setChecked(boolean checked) {       
        mChecked = checked;
        setBackgroundDrawable(checked ? new ColorDrawable(getResources().getColor(android.R.color.white)) : null);
    }

    @Override
    public void toggle() {
        mChecked = !mChecked;
        setBackgroundDrawable(mChecked ? new ColorDrawable(getResources().getColor(android.R.color.white)) : null);
    }

}

Тогда вы можете использовать setItemChecked(int index, boolean checked) в вашем списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...