Изменить цвет текста в android.R.layout.simple_list_item_2

Я использую простой адаптер для отображения моего кода. К сожалению, мне нужно изменить верхний цвет textView.

Это фрагмент моего кода:

// Keys used in Hashmap String[] from = { "txt1", "txt2" }; // Ids of views in listview_layout int[] ids = { android.R.id.text1, android.R.id.text2 }; SimpleAdapter adapter = new SimpleAdapter(this, aList, android.R.layout.simple_list_item_2, from, ids); setListAdapter(adapter); 

Я попытался сделать свой собственный simple_list_item_2, но по какой-то причине он не позволит мне изменить цвет textView в xml. Есть идеи, как это сделать?

Моя последняя мысль:

findViewById(android.R.id.text1).setTextColor(#000) но я не знаю, куда его поместить, а мой шестнадцатеричный код не работает.

Solutions Collecting From Web of "Изменить цвет текста в android.R.layout.simple_list_item_2"

Вам необходимо переопределить getView из SimpleAdapter. Например:

 SimpleAdapter adapter = new SimpleAdapter(this, aList, android.R.layout.simple_list_item_2, from, ids) { public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView text1 = (TextView) view.findViewById(android.R.id.text1); text1.setTextColor(Color.RED); return view; }; }; 

Создайте собственный XML-макет для элементов ListView и установите цвет текста TextView с помощью атрибута textColor :

 <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:textColor="#ff0000" /> 

Если вы используете раскрывающийся список Spinner, цвет текста не изменится. Чтобы изменить, мы должны также добавить вышеописанный метод методом getDropDownView.

 public View getDropDownView (int position, View convertView, ViewGroup parent) {                View view = super.getDropDownView (position, convertView, parent);                TextView text = (TextView) view.findViewById (android.R.id.text1);                text.setTextColor (Color.BLACK);                return view;            } 

Вы должны использовать setTextColor(Color.any color);

 TextView txt = (TextView) view.findViewById(R.id.text1); txt.setTextColor(Color.yellow);