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를 얻고 있습니다. 이 코드에서 세 번째 또는 네 번째 항목을 클릭했을 때 다른 항목은 색상이 지정되지만 항목은 색상이 지정되지 않습니다.
나는 대답을 찾았다. 나는 이렇게했다 :-
먼저 어댑터에서 방법을 만들었습니다.
public void setSelectedIndex(int ind) {
selectedIndex = ind; // selectedIndex global variable
notifyDataSetChanged();
}
그리고보다
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolderForLiveTV holderForLiveTV;
if (selectedIndex != -1 && position == selectedIndex) {
holderForLiveTV.channelName.setTextColor(Color.parseColor("#63a0b9"));
} else {
holderForLiveTV.channelName.setTextColor(Color.BLACK);
}
return convertView;
}
다음과 같이 선택한 항목의 위치를 설정합니다.
liveTvAdapter.setSelectedIndex(position);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다