Я создаю linearlayout с программным обеспечением, а затем добавляю к нему представления. Но функция addview добавляет только первую строку элементов (вторая для цикла). Как я могу исправить эту проблему. Я попытался изменить LinearLayout.LayoutParams.WRAP_CONTENT
на 5000px, но это все еще показывает только первый элемент. Когда я смотрю журналы, для цикла работает хорошо.programmaticaly created linearlayout не обертывает содержимое
getChildCount
метод, возвращающий истинное значение в течение цикла:
Crashlytics.log(Log.ASSERT, shoppingList.Title + "için: ", linearLayout.getChildCount() + "");
Также я попытался вызвать invalidate
и requestlayout
методов после цикла, но тот до сих пор не работает.
for(ShoppingList shoppingList : shoppingLists){
LinearLayout linearLayout = new LinearLayout(MainActivity.activity);
containerLL.addView(linearLayout);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(14, 7, 14, 7);
linearLayout.setLayoutParams(layoutParams);
linearLayout.setBackgroundResource(R.drawable.rounded_gray);
for(int i = 0 ; i < shoppingList.shopLists.size() ; i ++){
Crashlytics.log(Log.ASSERT, shoppingList.Title + "için: ", linearLayout.getChildCount() + "");
ShopList shopList = shoppingList.shopLists.get(i);
View v = MainActivity.inflater.inflate(R.layout.row_list, linearLayout, false);
TextView listTitle = (TextView) v.findViewById(R.id.listTitle);
TextView brandTV = (TextView) v.findViewById(R.id.brandTV);
TextView descriptionTV = (TextView) v.findViewById(R.id.descriptionTV);
TextView sizeTV = (TextView) v.findViewById(R.id.sizeTV);
LinearLayout removeLL = (LinearLayout) v.findViewById(R.id.removeLL);
FrameLayout seperatorFL = (FrameLayout) v.findViewById(R.id.seperatorFL);
listTitle.setVisibility(i == 0 ? View.VISIBLE : View.GONE);
listTitle.setText(shoppingList.Title);
descriptionTV.setText(shopList.description);
brandTV.setText(shopList.brandName);
sizeTV.setText(shopList.description);
removeLL.setVisibility(i == shoppingList.shopLists.size() - 1 ? View.VISIBLE : View.GONE);
seperatorFL.setVisibility(i == shoppingList.shopLists.size() - 1 ? View.GONE : View.VISIBLE);
Crashlytics.log(Log.ASSERT, "width : " + v.getWidth() + " " + "height" + v.getHeight(), v.getX() + " X " + " " + v.getY() + " Y ");
linearLayout.addView(v);
}
}
спасибо. это решает проблему. –