Я недавно начал разрабатывать для Android и теперь застрял! Я создал список, но стандартный цвет черный, теперь я хочу иметь возможность отображать текст в любом цвете, который я хочу. Это деятельность.
public class DisplayMalePage extends ActionBarActivity {
String[] maleArray = { "a","b","c"};
private ListView maleListView;
private ArrayAdapter maleArrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_male_page);
maleListView = (ListView) findViewById(R.id.maleList);
maleArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, maleArray);
maleListView.setAdapter(maleArrayAdapter);
}
Но это (я думаю, из-за simple_list_item_1
) дает мне черный цвет. Также я хотел бы, чтобы входные данные моего массива были строками, чтобы было легче изменить язык.
В конце концов, я хотел бы иметь список с двумя верхними текстами, разделительной полосой, а затем остальной частью списка (все они будут интерактивными).
Надеюсь, кто-то понимает, о чем я, ха-ха.
2 ответа
Вы не можете изменить какую-либо часть макета списков с помощью ArrayAdapter по умолчанию. Вам необходимо определить свой собственный CustomArrayAdapter.
http://www.vogella.com/tutorials/AndroidListView/article.html#adapterown
Эта ссылка - очень полезное руководство о том, как это сделать.
Создайте свой собственный макет, который вы будете использовать в своем элементе списка. Убедитесь, что он содержит Textview
с идентификатором text1
. Что-то вроде этого:
layout/my_list_item.xml
<TextView
android:id-"@+id/text1"
android:textColor="@android:color/white"
...... />
Затем используйте этот макет в инициализации ArrayAdapter
вместо android.R.layout.simple_list_item_1
.
maleArrayAdapter = new ArrayAdapter(this, R.layout.my_list_item, maleArray);
Примечание. Если вы хотите что-то более сложное, кроме отображения простого текста, вам следует использовать собственный ArrayAdapter
, как указал @ user3567040.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.