У меня есть GridView с объектами realm, я могу заполнить GridView в порядке, то, что я не могу сработать, - это изменить цвет фона элемента в зависимости от переменной объекта realm. Мне нужно, если объект realEventry.VERIFIED равен 1, тогда цвет фона должен быть зеленым.андроид gridview элемент динамический цвет фона
Мне удалось получить его, показывая зеленый цвет, изменив view.setBackgroundColor, но затем, когда я прокручиваю больше элементов, автоматически получаю зеленый фон!
public class StockEntryAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List<StockEntry> stockEntries = null;
public StockEntryAdapter(Context context) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void setData(List<StockEntry> details) {
this.stockEntries = details;
}
@Override
public int getCount() {
if (stockEntries == null) {
return 0;
}
return stockEntries.size();
}
@Override
public Object getItem(int position) {
if (stockEntries == null || stockEntries.get(position) == null) {
return null;
}
return stockEntries.get(position);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int position, View currentView, ViewGroup parent) {
if (currentView == null) {
currentView = inflater.inflate(R.layout.stock_entry_listitem, parent, false);
}
StockEntry stockEntry = stockEntries.get(position);
if (stockEntry != null) {
TextView textView = (TextView) currentView.findViewById(R.id.itemnmbr);
textView.setText(stockEntry.getItemFullName());
if (stockEntry.getVerified() == 1) {
// here I need to set the items background colour to green
}
}
return currentView;
}
Кроме того, после вы изменили цвет, что вы хотите, вы должны контролировать другие элементы тоже вы получаете более зеленым цвет, потому что вид перерабатываются так добавить 'else' заявление в код по умолчанию предыстории оригинал. –
Он не использует класс держателя для просмотра, поэтому я не думаю, что вам больше не нужна роль. – comeback4you
comeback4you - это было очень близко к моему исходному коду, я использую currentView.setBackgroundColor (Color.parseColor («# A5D6A7»)); проблема была подчеркнута @EsatIBIS - я не думал о том, что у меня там есть другой фон, который работал, благодаря обоим! – user260582