Я пытаюсь добавить LinearLayout для каждого элемента в переменном массиве. Мне нужно, чтобы каждый элемент имел изображение и текст по горизонтали, но пока я тестирую текст.Программно добавить LinearLayout с текстом и изображением
Имея в виду, что этот код находится в фрагменте.
Я думаю, что ошибка связана с getContext(), но не с уверенностью.
Код я в настоящее время является:
List<PaymentOption> paymentOptions = aTradeItem.getPaymentOptions();
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(ImageUtils.dpToPx(16), ImageUtils.dpToPx(4), ImageUtils.dpToPx(16), ImageUtils.dpToPx(4));
LinearLayout.LayoutParams lineparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, ImageUtils.dpToPx(1));
lineparams.setMargins(0, ImageUtils.dpToPx(4), 0, ImageUtils.dpToPx(4));
if (paymentOptions != null && paymentOptions.size() > 0) {
for (PaymentOption t : paymentOptions) {
LinearLayout paymentOptionLayout = new LinearLayout(getContext());
paymentOptionLayout.setOrientation(LinearLayout.HORIZONTAL);
paymentOptionLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
TextView heading = new TextView(getContext());
heading.setText(t.getDescription());
heading.setTextColor(getResources().getColor(R.color.light_text));
heading.setLayoutParams(lp);
paymentOptionLayout.addView(heading);
}
}
Там нет ошибок, данные как раз не заполнять на экране. Я пробовал случайный текст Hardcoding в setText(), но без успеха.
Спасибо
Вы добавляете paymentOptionLayout в макет после этого для цикла? – Luksprog
Я не знаю, почему я не думал об этом изначально, но RecyclerView был бы лучше для этого, меньше накладных расходов. Поэтому я собираюсь изучить это скорее. Спасибо за вопрос, хотя @Luksprog – x10sion