我使用 BaseAdapter 准备了一个自定义列表视图。 现在我想在单击事件上更改选中列表视图项目的颜色。 并且应该选择多个项 。 这里我给一个演示 :
""https://i.sstatic.net/WW4vX.png" alt="此处输入图像描述"/"
选中项的颜色是 Orange 。 这只是一个演示屏幕。 如果有人知道如何改变选中列表项的全部背景颜色, 请在浏览后加注 。 谢谢 。
我使用这个基础设计师类:
public class MyListAdapter extends BaseAdapter {
private Activity activity;
private String[] title, artist, duration, rowNumber;
private static LayoutInflater inflater=null;
ViewHolder holder;
View vi;
public MyListAdapter (Activity context, String[] songTitle,String[] songArtist, String[] songDuration )
{
try
{
activity = context;
title = songTitle;
artist = songArtist;
duration = songDuration;
rowNumber = new String[title.length];
for(int i=0;i<title.length; i++){
rowNumber[i] = Integer.toString(i+1);
时 时
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
时 时
catch (NullPointerException e)
{
e.printStackTrace();
时 时
时 时
public int getCount() {
return title.length;
时 时
public Object getItem(int position) {
return position;
时 时
public long getItemId(int position) {
return position;
时 时
public static class ViewHolder{
private TextView txtSongNumber, txtSongTitle, txtSongArtist, txtSongDuration;
时 时
public View getView(int position, View convertView, ViewGroup parent)
{
try
{
vi=convertView;
// System.out.println("Value of position"+position);
if(convertView==null)
{
vi = inflater.inflate(R.layout.list_songs, null);
holder=new ViewHolder();
holder.txtSongNumber = (TextView)vi.findViewById(R.id.txtSongNumber);
holder.txtSongTitle = (TextView)vi.findViewById(R.id.txtSongTitle);
holder.txtSongArtist = (TextView)vi.findViewById(R.id.txtSongArtist);
holder.txtSongDuration = (TextView)vi.findViewById(R.id.txtSongDuration);
vi.setTag(holder);
时 时
else
holder=(ViewHolder)vi.getTag();
holder.txtSongNumber.setText(rowNumber[position]);
holder.txtSongTitle.setText(title[position]);
holder.txtSongArtist.setText(artist[position]);
holder.txtSongDuration.setText(duration[position]);
时 时
catch (Exception e)
{
e.printStackTrace();
时 时
return vi;
时 时
时 时