내 SimpleAdapter
을 채울 때 문제가 발생합니다. getView()
메서드에서 비디오가 이미 있는지 확인합니다. 이미 존재하는 경우 버튼 이미지를 '재생'이미지로 변경합니다. 그렇지 않으면, 나는 그것의 "다운로드"심상을 지킬 것이다. 문제는 내가 목록을 스크롤 할 때 모든 버튼을 "재생"이미지로 변경하는 것입니다. 이것은 내 코드이며, 나는 무엇을 잘못 했는가? 의 else
절에서버튼의 배경을 변경하면 SimpleAdapter 문제가 발생하여 모든 항목이 변경됩니다.
public View getView(int position, View convertView, ViewGroup parent) {
View row=super.getView(position, convertView, parent);
TextView videoIdText = (TextView) row.findViewById(R.id.videoId);
Button downloadButton = (Button) row.findViewById(R.id.videoDownload);
final String videoId = videoIdText.getText().toString();
if (videoExists(videoId)) {
downloadButton.setBackgroundResource(R.drawable.ic_play);
Drawable d = downloadButton.getBackground();
d.setColorFilter(Color.parseColor("#00AA00"),Mode.SRC_ATOP);
downloadButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
if (activity !=null){
((FeedActivity)activity).playVideo(getVideoPath(videoId));
}
}
});
}else{
downloadButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
DownloadTask task = new DownloadTask();
task.setVideoId(videoId);
task.execute();
}
});
}
돈의 버튼을 저장하는 데 필요한 정답을 수락 (확인)하는 것을 잊지 마십시오. –