我的问题是我在片段中有一个ScrollView,当这个片段交换到容器中时,ScrollView最初位于中间(它似乎滚动到我在ScrollView内部的ListView)。我尝试过使用:
myScrollView.scrollTo(0, 0);
和
mainScrollView.fullScroll(ScrollView.FOCUS_UP);
但这并没有做任何事情。当我在片段的onCreateView方法中包含这些内容时,会执行此行,但是当手机上的布局变为可见时,它仍然会滚动到中间位置。
我在这里包含XML代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.test.johnnelson.tablayout.PingViewFragment">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pingScrollView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_above="@+id/wallPostInput"
android:padding="0dp">
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:longClickable="false"
android:id="@+id/pingViewRelativeLayout"
android:padding="0dp">
<com.parse.ParseImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/pingProfileImage"
android:scaleType="centerCrop"
android:cropToPadding="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="15dp"
android:layout_marginStart="21dp"
android:translationZ="1dp"
android:layout_marginTop="120dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="attending"
android:id="@+id/attendingButton"
android:layout_alignBottom="@+id/pingProfileImage"
android:layout_centerHorizontal="true"
android:width="100dp"
android:height="8dp"
android:translationZ="1dp"
android:layout_alignParentEnd="false"
android:textSize="9dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="attend"
android:id="@+id/attendButton"
android:layout_alignBottom="@+id/attendingButton"
android:layout_toRightOf="@+id/attendingButton"
android:layout_toEndOf="@+id/attendingButton"
android:layout_marginLeft="15dp"
android:layout_alignTop="@+id/attendingButton"
android:width="100dp"
android:height="8dp"
android:translationZ="1dp"
android:textSize="9dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:id="@+id/pingTitleTextView"
android:layout_below="@+id/pingProfileImage"
android:layout_alignLeft="@+id/pingProfileImage"
android:layout_alignStart="@+id/pingProfileImage"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Time"
android:id="@+id/pingStartTimeTextView"
android:layout_below="@+id/pingTitleTextView"
android:layout_alignRight="@+id/pingTitleTextView"
android:layout_alignEnd="@+id/pingTitleTextView"
android:layout_alignLeft="@+id/pingTitleTextView"
android:layout_alignStart="@+id/pingTitleTextView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="End Time"
android:id="@+id/pingEndTimeTextView"
android:layout_below="@+id/pingStartTimeTextView"
android:layout_alignLeft="@+id/pingStartTimeTextView"
android:layout_alignParentRight="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/pingLocationNameTextView"
android:textColor="@color/PING_HYPERLINK_BLUE"
android:layout_below="@+id/pingEndTimeTextView"
android:layout_alignLeft="@+id/pingEndTimeTextView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description"
android:id="@+id/pingDescriptionTextView"
android:layout_below="@+id/pingLocationNameTextView"
android:layout_alignLeft="@+id/pingLocationNameTextView"
android:layout_alignParentRight="true"
android:maxHeight="100dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wallPosts"
android:id="@+id/wallPostsTextView"
android:layout_alignParentRight="true"
android:layout_below="@+id/pingDescriptionTextView"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:textSize="10sp"
android:background="@color/PING_WHITE" />
<ListView
android:layout_width="wrap_content"
android:layout_height="500dp"
android:id="@+id/wallPostListView"
android:nestedScrollingEnabled="true"
android:layout_alignParentRight="false"
android:layout_alignParentLeft="false"
android:layout_alignParentBottom="true"
android:minHeight="500dp"
android:layout_below="@+id/wallPostsTextView" />
<view
android:layout_width="match_parent"
android:layout_height="95dp"
class="android.support.v4.view.ViewPager"
android:id="@+id/pingViewPager"
android:layout_alignParentLeft="false"
android:layout_alignParentStart="false"
android:translationZ="0dp"
android:layout_above="@+id/attendingButton"
android:layout_alignParentTop="true"
android:layout_alignParentRight="false"
android:padding="0dp"
android:paddingLeft="0dp"
android:paddingTop="0dp"
android:paddingRight="0dp"
android:paddingBottom="0dp"
android:layout_alignWithParentIfMissing="false"/>
</RelativeLayout>
</ScrollView>
<include
layout="@layout/submit_wall_post"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:id="@+id/wallPostInput" />
</RelativeLayout>
有很多事情正在发生,所以我担心其他一些观点可能会偷走焦点或不允许ScrollView滚动到顶部?我需要滚动到顶部的ScrollView是@ + id / pingScrollView。底部包含的布局是聊天栏。
几天来一直困在这个简单的问题上。我真的很感激任何帮助!
注意:我已经阅读了一些关于我的问题的问题,例如this和this,但是当我向我添加任何代码(这似乎是正确的,最简单的解决方案)时片段,在onCreateView(),onStart()或onResume()方法中,没有任何反应,ScrollView仍然滚动到中间。