我们有一个带有以下适配器代码的androd列表视图。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.single_item, null);
holder.name = (TextView) convertView
.findViewById(R.id.name);
} else {
holder = (ViewHolder) convertView.getTag();
}
items itm = items.get(position);
Button stat = (Button) convertView.findViewById(R.id.status);
holder.items = itm;
stat.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent i = new Intent(context, anotherActivity.class);
i.putExtra("name", holder.items.getName());
context.startActivity(i);
}
});
if(itm.getStatus() == 1) {
convertView.setBackgroundColor(Color.parseColor("#f2dededb"));
stat.setText("No");
stat.setEnabled(false);
}
return convertView;
}
该列表有几个项,我们正在尝试基于某个标志设置特定项的背景色。但是颜色是随机设置的。