Модификация одного элемента ListView
Добавлено: 08 мар 2015, 09:28
Всем привет. Возник следующий вопрос. Есть ListView с кастомным адаптером ArrayAdapter<Object>. Список представляет собой плейлист музыкального плеера. Нужно сделать так, чтобы при нажатии на элемент списка нажатый элемент перерисовывался.(например, шрифт становился жирным, а перед текстом появляась картинка gif).
Пытался сделать проверку в getview, но безуспешно. В интернете очень мало информации по этому вопросу.
Пытался сделать проверку в getview, но безуспешно. В интернете очень мало информации по этому вопросу.
Код: Выделить всё
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import ru.belsci.vkSdk.Song;
public class ListSongsAdapter extends ArrayAdapter<Song> {
ViewHolder viewHolder;
public ListSongsAdapter(Context context, ArrayList<Song> songs) {
super(context, R.layout.list_audio, songs);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Song song = getItem(position);
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_audio, parent, false);
viewHolder = new ViewHolder();
viewHolder.art = (TextView) convertView.findViewById(R.id.listArtist);
viewHolder.tit = (TextView) convertView.findViewById(R.id.listTitle);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.art.setText(song.Artist);
viewHolder.tit.setText(song.Title);
return convertView;
}
private static class ViewHolder {
TextView art;
TextView tit;
}
}