下面是我的 ListView
适配器类,我想更改最后一个位置值的颜色,假设我的 ListView
显示 6 个元素,我想更改第 6 个元素的颜色如何我去做???我只想更改最后一个元素文本的颜色
public class CustomAlertAdapter extends BaseAdapter{
TextView titlename;
Context ctx=null;
ArrayList<String> listarray=null;
private LayoutInflater mInflater=null;
public CustomAlertAdapter(Activity activty, ArrayList<String> list)
{
this.ctx=activty;
mInflater = activty.getLayoutInflater();
this.listarray=list;
}
@Override
public int getCount() {
return listarray.size();
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
final ViewHolder holder;
if (convertView == null ) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.alertlistrow, null);
holder.titlename = (TextView)
convertView.findViewById(R.id.textView_titllename);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
String datavalue=listarray.get(position);
holder.titlename.setText(datavalue);
return convertView;
}
private static class ViewHolder {
TextView titlename;
}
}
最佳答案
只需根据数据结构中的位置更改膨胀 View 的属性
public View getView(int position, View convertView, ViewGroup arg2) {
// inflate view
convertView = mInflater.inflate(R.layout.alertlistrow, null);
...
// modify view
if(position == listArray.size()-1){
convertView.setBackgroundColor(R.color.some_color_resource_id);
}
...
// return view
return convertView;
只要在 getView 函数中返回 View 之前完成即可。
值得记住的是,列表中的每个元素都会被调用,位置会提供给您。
希望对你有帮助
关于android - 如何更改最后一个 ListView 适配器索引的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22708874/