我正在嘗試爲變化的數組中的每個項目添加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);
}
}
有沒有錯誤,該數據只是不填充屏幕上。我曾嘗試在setText()中對隨機文本進行硬編碼,但沒有成功。
謝謝
在for循環之後,您是否在佈局中添加了paymentOptionLayout? – Luksprog
我不知道爲什麼我最初沒有想到這個,但是RecyclerView會更好,因此開銷更少。所以我會去看看那個。感謝這個問題,儘管@Luksprog – x10sion