私の .im を入力するときSimpleAdapter
。getView()
メソッドで、ビデオが既に存在するかどうかを確認します。既に存在する場合は、ボタンの画像を「再生」画像に変更します。それ以外の場合は、その「ダウンロード」イメージを保持します。問題は、リストをスクロールすると、すべてのボタンが「再生」画像に変更されることです。これは私のコードです。何が間違っていますか?
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();
}
});
}