public void setDataToList() {
liveTvAdapter = new LiveTvAdapter(this, channelList);
horizonatalListViewForLiveTv.setAdapter(liveTvAdapter);
horizonatalListViewForLiveTv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView;
for (int i = 0; i < parent.getChildCount(); i++) {
if (position == i) {
textView = (TextView) parent.getChildAt(i).findViewById(R.id.live_tv_chanel_text);
textView.setTextColor(Color.parseColor("#63a0b9"));
} else {
textView = (TextView) parent.getChildAt(i).findViewById(R.id.live_tv_chanel_text);
textView.setTextColor(Color.BLACK);
}
}
if (videoView != null) {
videoView = null;
}
setValue(position);
}
});
}
これは私がやっているコードの上です。ここで私は位置から親子からtextviewを取得しています。このコードでは、3番目または4番目のアイテムをクリックすると、他のアイテムに色付けされていても、アイテムは着色されません。お使いのアダプタのonClickインサイドリストビューの項目をクリックしたときにリストビューのテキストに色を付けることができます。他の項目をクリックしたときに、前の項目がデフォルトの色になるはずです
上記のロジックを使用することはできますが、これは正しい方法ではありませんが遅くなる可能性があります。私は上記に比べて速い正しい方法を投稿した。 – vishal