Özel bir adaptöre sahip bir listeye sahibim ve liste öğesinin veya bir değişkenin içeriğine göre arka plan rengini ayarlamak istiyorum. Liste, bir tarih ve bazı bilgiler içeren bir metin görünümünden oluşur. Yeni bir tarih gösterildiğinde değiştirmek için arka plan rengini ihtiyaçListitem arka planını içerik/değişkene göre değiştirin
..
Öğe1: 2. Mart 2016 -> mavi
item2: 2. Mart 2016 -> mavi
item3 : Mart 2016 3. -> gri
item4: Mart 2016 4. -> mavi
...
ListAdapter'te kullanılabilecek bir değişken (isNewDate) ayarlayabilir miyim?
Listem adaptörü:
Sen HistoryListItem modeli sınıfında mağaza bugüne kadar varible dile eklemem gerekiyorpublic class HistoryListViewAdapter extends ArrayAdapter<HistoryListItem> {
public HistoryListViewAdapter(Context context, List<HistoryListItem> items) {
super(context, R.layout.history_list_item, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null) {
// inflate the ListView item layout
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.history_list_item, parent, false);
//different color if new date
if (newdate == 0) //How to find if it is a "new date"
//togle color
convertView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.colorPrimaryDark));
// initialize the view holder
viewHolder = new ViewHolder();
viewHolder.ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);
viewHolder.tvTextfield = (TextView) convertView.findViewById(R.id.tvTextfield);
viewHolder.tvNote = (ImageView) convertView.findViewById(R.id.tvNote);
convertView.setTag(viewHolder);
} else {
// recycle the already inflated view
viewHolder = (ViewHolder) convertView.getTag();
}
// update the item view
HistoryListItem item = getItem(position);
viewHolder.ivIcon.setImageDrawable(item.icon);
viewHolder.tvTextfield.setText(item.textfield);
viewHolder.tvNote.setImageDrawable(item.note);
return convertView;
}
private static class ViewHolder {
ImageView ivIcon;
TextView tvTextfield;
ImageView tvNote;
}
}
isNewDate ile ne demek istiyorsunuz ve liste öğelerinin arka plan rengini değiştirmek için sahip olduğunuz kriter nedir? –
isNewDate, arka plan renginin son öğe ile aynı olması veya ikinci arka plan rengine geçiş yapması durumunda, true veya true olarak değiştirilebilecek bir değişkenin öneriydi. Kriterler "(öğenin öğesi son öğeden farklı bir günden itibaren bilgi içeriyorsa) {arka plan rengini değiştir"} Her bir liste, belirli bir güne ilişkin bilgileri içerir. Her gün için sıfır, bir veya birçok öğe olabilir. Liste verileri bir db'de saklanır. – EirikO