<ListView android:id="@+id/rv_list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginBottom="50dp" android:divider="#FFFFFF" android:background="@drawable/underline" android:dividerHeight="30dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/areaState" android:layout_marginTop="4dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:clipToPadding="false" android:scrollbarStyle="outsideOverlay" android:paddingBottom="20dp" android:layoutDirection="rtl" android:layout_weight="1" android:paddingTop="8dp" android:elevation="8dp" />更新数据页面不返回顶部怎么做
时间: 2023-07-03 08:21:00 浏览: 51
如果你不希望在更新数据后自动返回顶部,可以将 `android:transcriptMode` 属性设置为 `disabled`,这样列表就不会自动滚动到底部。
另外,如果在更新数据后需要保持列表的滚动位置不变,可以记录当前列表的滚动位置,更新数据后再将列表滚动到之前的位置。具体实现方法如下:
1. 在更新数据前,记录当前列表的滚动位置:
```java
int scrollPosition = listView.getFirstVisiblePosition();
View v = listView.getChildAt(0);
int scrollTop = (v == null) ? 0 : (v.getTop() - listView.getPaddingTop());
```
2. 更新数据后,将列表滚动到之前的位置:
```java
listView.setSelectionFromTop(scrollPosition, scrollTop);
```
这样,即使更新数据后列表不自动返回顶部,也能保持之前的滚动位置不变。
相关问题
<ListView android:id="@+id/rv_list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginBottom="10dp" android:divider="#F32828" android:background="@drawable/item_border_background" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/areaState" />怎么设置每个item的边框格式
要设置 `ListView` 的每个子项的边框格式,你需要定义一个 `item_layout.xml` 文件作为子项的布局,并在其中设置子项的边框格式。
1. 在 `res/layout` 目录下创建一个名为 `item_layout.xml` 的文件,文件内容如下:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:padding="10dp"
android:background="@drawable/item_border_background"
android:layout_height="wrap_content">
<!-- 在这里添加子项的其他视图 -->
</LinearLayout>
```
上面的代码定义了一个竖直方向的线性布局,其中添加了一个内边距和一个背景边框。
2. 在 `ListView` 的布局文件中,将 `android:layout` 属性设置为 `@layout/item_layout`,即:
```xml
<ListView
android:id="@+id/rv_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="10dp"
android:divider="#F32828"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/areaState"
android:background="@android:color/transparent"
android:listSelector="@drawable/list_selector"
android:layout_marginTop="4dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="4dp"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
android:paddingBottom="20dp"
android:layoutDirection="rtl"
android:fastScrollEnabled="true"
android:layout_weight="1"
android:layout="@layout/item_layout" />
```
这样就可以为每个子项设置边框格式了。你可以根据需要修改 `item_layout.xml` 文件中的属性来调整子项的布局和边框样式。
<TextView android:id="@+id/text_type" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/text_style" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/text_inventory_num" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent">如何隐藏
你可以在对应的 XML 文件中找到这些视图的定义,并设置它们的 visibility 属性为 "gone",这样它们就会被隐藏起来。例如:
```
<TextView
android:id="@+id/text_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView
android:id="@+id/text_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView
android:id="@+id/text_inventory_num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
这样,前三个 TextView 就会被隐藏起来,只有 ListView 会显示出来。