Я использую AlertDialog для отображения некоторой информации об отладке. У меня просто есть список, в который я отправляю информацию. Чтобы сделать его более читаемым, я хотел бы изменить цвет фона отдельных элементов в списке на основе их типа. К сожалению, я не могу получить цвет, который я хочу удержать. Вот Вид адаптера я использую:Изменение цвета фона Android при использовании адаптера в AlertDialog
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView tv = (TextView) v.findViewById(android.R.id.text1);
RuleDebugItem item = mData.get(position);
tv.setSingleLine(false);
if(item.type.equalsIgnoreCase(Field.VARIABLE)) {
tv.setText(item.ruleDebugText);
tv.setTextSize(18);
v.setBackgroundColor(color.bluelight);
tv.setTypeface(null, Typeface.BOLD);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.white));
}
else if (item.type.equalsIgnoreCase(Field.FUNCTION)) {
tv.setText(item.ruleDebugText);
tv.setTextSize(16);
v.setBackgroundColor(color.greenlight);
tv.setTypeface(null, Typeface.BOLD);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.white));
}
else if (item.type.equals("Condition")) {
tv.setText(" " + item.ruleDebugText);
tv.setTextSize(14);
tv.setTypeface(null, Typeface.NORMAL);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.black));
}
return v;
}
Я ожидал v.setBackgroundColor(color.greenlight);
изменить цвет Backround. Полагаю, я мог бы создать свой собственный диалог и т. Д., Но я действительно не хотел тратить много времени на это, потому что это, вероятно, код сбрасывания.
спасибо!
вы можете изменить это в методе onBindViewHolder, который может быть легко управляемым –
@Selvin Как заявить, выбросить код и незавершенное производство. Состояние (и другие предметы) будет добавлено позже. Если вы уже решили использовать ArrayAdpater и AlertDialog, пришлите мне ссылку. Благодарю. –
Rahul - ArrayAdapter, похоже, не имеет метода onBindViewHolder. Или я предлагаю сделать что-то другое? –