Как раскрасить элементы списка (строки) в ListActivity без использования XML
У меня есть расширенный класс ListActivity, в котором я хочу отображать названия городов и штатов. Города должны быть синего цвета, а состояния должны быть красного цвета, я использую ListView и ArrayAdapter для отображения списка. Я много искал, но все, что у меня есть, это использование XML. Кто-нибудь, пожалуйста, помогите мне.. Спасибо заранее.
Мой код выглядит так:
String cities[]={"....."};
String stated[]={"....."};
private ArrayList<String> list_places = new ArrayList<String>();
Private ArrayAdapter<String> list_adapter;
list_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,list_places);
for(int i=0;i<10;i++)
{
if(isCity())
/*Text in blue*/
list_adapter.add(cities[i]);
else
/*Text in red*/
list_adapter.add(states[i]);
}
setListAdapter(list_adapter);
1 ответ
Решение
Попробуйте этот адаптер
открытый класс ListColor extends BaseAdapter {
String[] items = { "Hello ", "hi", " how are you" };
Context mContext;
public ListColor(Context c) {
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return items.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
TextView tv = new TextView(mContext);
tv.setText(items[arg0]);
tv.setTextColor(Color.RED);
return tv;
}
}