#java #android #android_fragment
При добавлении списка типа ExpandedListView в фрагмент цвет текста элементов этого списка устанавливается белым и, естественно, на белом фоне список почти не видно: Попробовал добавить этот же список в активити, все отобразилось как надо: Единственный выход(пока что) - смена цвета бекграунда списка(или лейаута,в котором находится список). Но все же хотелось бы добиться отображения как на втором скриншоте. Заранее спасибо! Код лейаута, в котором находится список:Код фрагмента: public class ExercisesFragment extends Fragment{ ExpandableListView elvMain; ExercisesAdapter EA; SimpleExpandableListAdapter adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View rootView = inflater.inflate(R.layout.exercises_fragment, container, false); EA = new ExercisesAdapter(getActivity()); adapter = EA.getAdapter(); elvMain = (ExpandableListView) rootView.findViewById(R.id.elvMain); //elvMain.setBackgroundColor(getResources().getColor(R.color.black)); elvMain.setAdapter(adapter); return rootView; } } Код ExercisesAdapter: public class ExercisesAdapter { final String ATTR_GROUP_NAME= "groupName"; final String ATTR_EXERC_NAME= "exerName"; // названия групп упражнений String[] groups = new String[] {"Group 1", "Group 2", "Group 3", "Group 4","Group 5", "Group 6", "Group 7", "Group 8", "Group 9"}; // названия упражнений String[] Group1 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group2 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group3 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group4 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group5 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group6 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group7 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group8 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; String[] Group9 = new String[] {"Exercise 1", "Exercise 2", "Exercise 3", "Exercise 4", "Exercise 5"}; // коллекция для групп ArrayList
Ответы
Ответ 1
Задайте стиль для эелементов списка. У вас видимо textColorPrimary задан белым, вот и элементы списка с белым текстом. Как задать - стоит уже погуглить. По-другому вы не научитесь решать подобные проблемыОтвет 2
Цвет текста по всей видимости наследуется от стиля, который у Вас определен в styles.xml Как вариант решения могу посоветовать указать в адаптере свою разметку adapter = new SimpleExpandableListAdapter( ctx, groupData, R.layout.my_expandable_list_item_1, groupFrom, groupTo, childData, R.layout.my_list_item_1, childFrom, childTo); А в ней уже менять все что душе угодно.Ответ 3
У меня при добавлении ExpandedListView в Активити экстендс эктионБар, тоже цвет шрифта начинал сливатся с белым фоном, просто сменил разметку как советует ermak0ff Добавил my_expandable_list_item_1 и my_list_item_1 в папку layout, Там очень внимательным надо быть, во первых разметка как то не хотела через ctrl-v ctrl-c вставать, пришлось потихоньку со встреной разметки android.R.layout.simple_expandable_list_item_1 брать вьюшку и строить свои и как то все встало. Во вторых все ссылки правильно задать android.R.layout менять на R.layout там в коде эти ссылки не единыжды встречаются. В общем разметка заработала, цвет шрифта поменял.
Комментариев нет:
Отправить комментарий