Мое видение состоит в том, чтобы создать listView с цветовой кодировкой, где я хочу иметь тонкую цветную полосу в макете каждого элемента. Эта полоса должна быть определенного цвета, основанного на том, что я передаю в упражнение. Как мне создать такую полосу (по сути, заполненный прямоугольник) и установить ее цвет. В настоящее время я использую собственный макет для своего списка и использую SimpleAdapter с ArrayList.
Я знаю, что мне придется использовать
if (integerForColor == someNumber)
//set the color of the shape, bar
Я уверен, что это простая вещь, о которой я просто не могу думать в данный момент, или, должно быть, мне не хватает фундаментального. Заранее благодарим вас за ваши усилия.
РЕДАКТИРОВАТЬ 1 :
Пытаясь расшифровать некоторые ответы, которые были здесь, я понял, что вам, ребята, нужен мой код о том, как я строю свой список:
public class AddScreen extends Activity implements OnClickListener,
OnItemClickListener, OnItemLongClickListener {
SimpleAdapter adapter;
List<HashMap<String, String>> painItems = new ArrayList<HashMap<String, String>>();
ListView listthings;
public void onCreate(Bundle savedInstanceState) {
from = new String[] { "row_1", "row_2" };
to = new int[] { R.id.row1, R.id.row2 };
adapter = new SimpleAdapter(this, painItems, R.layout.mylistlayout,
from, to);
listthings.setAdapter(adapter);
}
Я добавил метод getView () :
public View getView (int position, View convertView, ViewGroup parent){
convertView.setBackgroundColor(R.drawable.red);
return convertView;
//I have no inflater as of now...
}
EDIT 2 : Согласно предложению @huntsfromshadow, я создал новое действие и переопределил там метод getView ().
//Imports
public class Adapter extends SimpleAdapter{
public Adapter(Context context, List<? extends Map<String, ?>> data,
int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
View row = convertView;
row.setBackgroundColor(0xFF0000FF);
return row;
}
}
К сожалению, он все еще не работает.