gpt4 book ai didi

Android ListView 焦点

转载 作者:行者123 更新时间:2023-11-29 18:14:47 32 4
gpt4 key购买 nike

我正在为 Android 开发一个播放列表应用程序,它有一个包含歌曲名称 (TextView) 作为其列表项的 ListView。

随着歌曲的播放,我想突出显示 ListView 中的项目,直到歌曲结束。这是为了指示当前正在播放的歌曲。

我尝试了 listview 中的 setSelection API,但没有成功。

最佳答案

您的列表项 View 必须实现 Checkable 接口(interface):

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)

关于Android ListView 焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821940/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com