я знаю, таких вопросов много. Я много читаю на stackoverflow и google по этой теме, но ничего не помогло мне: (
Хорошо, вот проблема. У меня есть небольшое приложение. В этом приложении у меня есть фрагмент. Файл layout.xml для этого фрагмента включает в себя заполнитель linearlayout, как показано ниже
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/placeholderLinLayout">
</LinearLayout>
Фрагмент имеет кнопку. Если вы щелкнете по нему, откроется DialogFragmentPopup, и вы сможете ввести некоторые данные. После ввода данных вы можете нажать на другую кнопку в этом диалоговом окне, и данные будут перенесены в основной фрагмент. Здесь я вызываю метод, который должен программно генерировать макет для представления данных. Я использую следующий код
myRoot = (LinearLayout) view.findViewById(R.id.placeholderLinLayout);
innerLayout = new LinearLayout(view.getContext());
innerLayout.setOrientation(LinearLayout.VERTICAL);
innerLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
LinearLayout productHeaderLayout = new LinearLayout(getContext());
productHeaderLayout.setOrientation(LinearLayout.HORIZONTAL);
productHeaderLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
TextView product_header = new TextView(getContext());
product_header.setText("Produkt");
product_header.setLayoutParams(layoutParams);
TextView amount_header = new TextView(getContext());
amount_header.setText("Menge");
amount_header.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
amount_header.setLayoutParams(layoutParams);
TextView packaging_header = new TextView(getContext());
packaging_header.setText("Verpackung");
packaging_header.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
packaging_header.setLayoutParams(layoutParams);
TextView price_header = new TextView(getContext());
price_header.setText("Preis");
price_header.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
price_header.setLayoutParams(layoutParams);
TextView payment_header = new TextView(getContext());
payment_header.setText("Zahlart");
payment_header.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
payment_header.setLayoutParams(layoutParams);
productHeaderLayout.addView(product_header);
productHeaderLayout.addView(amount_header);
productHeaderLayout.addView(packaging_header);
productHeaderLayout.addView(price_header);
productHeaderLayout.addView(payment_header);
innerLayout.addView(productHeaderLayout);
Проблема в том, что первое текстовое представление выталкивает все другие текстовые представления из видимого пространства, см. Скриншот
Что я хочу сделать, так это чтобы эти 5 текстовых представлений автоматически расширялись до существующей ширины. Я много гуглил, и код, который я публикую здесь, является результатом, который я нашел много раз в Интернете.
Так что я надеюсь, что кто-то может помочь найти проблему в моем коде:)
Привет