Я использую ExpandableList через ExpandableListViewActivity.
Теперь я хотел бы изменить цвет текста определенного TextView внутри каждого ChildView.Я не хочу, чтобы все они были одинаковыми, скорее что-то вроде «ок» в зеленом и «ошибка» в красном и т. Д.
Я наткнулся на getExpandableListAdapter (). GetChildView (...), ноЯ не уверен, какими должны быть последние параметры (View convertView, ViewGroup parent).Также я не совсем знаю, нужно ли мне преобразовывать возвращаемое значение (View) во что-то?
TextView tv = (TextView)this.getExpandableListAdapter().getChildView(0, 0, false, ???, ???).findViewById(R.id.xlist_child_tv);
С уважением, медуза
Краткое описание решения
SimpleExpandableListAdapter expListAdapter = new SimpleExpandableListAdapter(...parameters...){
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
final View itemRenderer = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
final TextView tv = (TextView) itemRenderer.findViewById(R.id.kd_child_value);
if (tv.getText().toString().contentEquals(getString(R.string.true)))
{
tv.setTextColor(getResources().getColor(R.color.myred));
}
else if (tv.getText().toString().contentEquals(getString(R.string.false)))
{
tv.setTextColor(getResources().getColor(R.color.mygreen));
}
else
{
tv.setTextColor(getResources().getColor(R.color.white));
}
return itemRenderer;
}
};
ресурс цвета:
<resources>
<color name="white">#ffffffff</color>
<color name="myred">#FFFF3523</color>
<color name="mygreen">#FFA2CD5A</color>
</resources>