Изменение цвета текста элемента списка изменений Android

Я пытаюсь изменить цвет текста элементов (или цвет backgroung) в виде списка на основе флага. После долгого поиска я не узнал, как это сделать, я вызываю нижний цикл после определенного действия, чтобы изменить цвет:

ListView _listView = (ListView) findViewById(R.id.listView2); for (int i=0;i<=_listView.getCount();i++) { if(Falg == True) { //here i want to change the list view item color or backgroud color } } 

Вы можете переопределить метод getView адаптера Array и изменить цвет:

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, myList) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView text = (TextView) view.findViewById(android.R.id.text1); if (flag == True) { text.setTextColor(Color.BLACK); } return view; } }; 

Вы можете сделать это прямо в своем пользовательском Adapter .

См. Adapter.getView ()

Вы можете раздуть строчку в этом методе и динамически изменять цвета представления и другие вещи.

Создайте пользовательский макет, определите свой цвет в этом макете.

Как это:

 <? xml version="1.0" encoding=" utf-8 "? > <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tv" android:textColor="@color/white" // Here You define your desired color android:layout_width="fill_parent" android:gravity="center" android:layout_height="fill_parent"/> 

Используйте этот макет в своем адаптере, например:

 ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, R.layout.custom_textview, info); lv.setAdapter(adapter); 

Таким образом, вам не нужно использовать пользовательский адаптер.

Вы можете установить стиль шрифта …

 textView.setText(Html.fromHtml("<b><u>"+string+"<b><u>")); 

Когда вы заполняете текст в своем списке.