#android #listview
#Android #listview
Вопрос:
В приложении для Android я использую listview внутри listview, но представление списка сокращает данные
- элемент вырезан из
- другие элементы, которые я вообще не вижу
Здесь показано изображение, из которого вырезан один элемент, а второй элемент вообще не отображается.
Любая идея, как я могу изменить высоту, чтобы она была динамической с содержимым
Спасибо
Первый элемент просмотра списка
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:padding="10dp">
<ImageView
android:id="@ id/approvedIcon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="5dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="5dp"
android:gravity="center_vertical"
app:srcCompat="@android:drawable/btn_star_big_on" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@ id/travelLocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textStyle="bold"
android:textSize="20sp"
android:layout_weight="1"
android:text="TextView" />
<TextView
android:id="@ id/travelDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@ id/countCompanies"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@ id/companiesListView"
/>
</LinearLayout>
</LinearLayout>
Второй элемент просмотра списка
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal">
<TextView
android:id="@ id/cidTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="11sp"
android:layout_marginRight="3dp"
android:layout_weight="1"
android:text="TextView" />
<TextView
android:id="@ id/companyName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="TextView" />
<TextView
android:id="@ id/comapnyAddedDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="TextView" />
<Button
android:id="@ id/confirmButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:text="Accept" />
</LinearLayout>
Комментарии:
1. Если вы используете файл элемента для перечисления, сначала измените файл элемента ссылки вашего адаптера (XML) и удалите фиксированный размер высоты макета
2. В высоте макета нет фиксированного размера
3. используете ли вы вес для textview?
Ответ №1:
Сначала используйте RecyclerView.
Если вы покажете XML, это будет полезно. Для динамической высоты используйте wrap_content для текста
Комментарии:
1. Xml для чего первый элемент listviewitem? второй элемент просмотра списка?
2. Я добавляю файлы xml
3. Я не уверен, но попробуйте android: singleLine=»false»