Android中的ScrollView问题

时间:2011-08-25 12:04:24

标签: android scrollview

我正在为问题答案创建演示应用。它的MCQ类型测试。我在scrollview中设置了所有问题和答案布局。问答布局的大小根据问答的内容而变化。

当我滚动我的最后一个ans选项然后加载下一个问题时,我的问题视图隐藏在顶部的滚动下。我希望每次加载新的问题和答案时都从头开始滚动。

这是我的XML:

 <ScrollView android:scrollbars="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/scroll"
                android:layout_below="@+id/que_count"
                android:layout_marginBottom="20dip">
<RelativeLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/topbar"
                android:layout_centerHorizontal="true"
                android:id="@+id/road_sign_layout">
<RelativeLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:layout_below="@+id/topbar"
                android:layout_centerHorizontal="true"
                android:background="@drawable/bubble1"
                android:id="@+id/que">
    <ImageView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginLeft="3dip"
              android:id="@+id/road_signs_images"/>         
    <TextView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textColor="#000000"
              android:textStyle="bold"
              android:layout_marginLeft="5dip"
              android:textSize="15dip"
              android:id="@+id/question"/>
</RelativeLayout>

<RelativeLayout android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/que"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="10dip"
                android:id="@+id/ansA"
                android:background="@drawable/ans_bg_new">            
    <TextView android:layout_width="250dip"
              android:layout_height="fill_parent"
              android:textColor="#000000"
              android:minHeight="35dip"
              android:gravity="center_vertical"
              android:layout_centerHorizontal="true"
              android:layout_below="@+id/question"
              android:id="@+id/ans1"/>
</RelativeLayout>
<RelativeLayout android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ansA"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="10dip"
                android:id="@+id/ansB"
                android:background="@drawable/ans_bg_new">            
    <TextView android:layout_width="250dip"
              android:layout_height="fill_parent"
              android:textColor="#000000"
              android:minHeight="35dip"
              android:gravity="center_vertical"
              android:layout_below="@+id/ans1"
              android:layout_centerHorizontal="true"
              android:id="@+id/ans2"/>
</RelativeLayout>
<RelativeLayout android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_below="@+id/ansB"
                android:id="@+id/ansC"
                android:layout_marginTop="10dip"
                android:background="@drawable/ans_bg_new">            
    <TextView android:layout_width="250dip"
              android:layout_height="fill_parent"
              android:textColor="#000000" 
              android:minHeight="35dip"
              android:gravity="center_vertical"
              android:layout_below="@+id/ans2"
              android:layout_centerHorizontal="true"
              android:id="@+id/ans3"/>
</RelativeLayout>
<RelativeLayout android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_below="@+id/ansC"
                android:layout_marginTop="10dip"
                android:background="@drawable/ans_bg_new"
                android:id="@+id/ansD">           
    <TextView android:layout_width="250dip"
              android:layout_height="fill_parent"
              android:layout_below="@+id/ans3"
              android:textColor="#000000" 
              android:minHeight="35dip"
              android:gravity="center_vertical"
              android:layout_centerHorizontal="true"
              android:id="@+id/ans4"/>

 </RelativeLayout>

 </RelativeLayout>
 </ScrollView>

任何建议?

...谢谢

2 个答案:

答案 0 :(得分:2)

请尝试此代码。

在加载新问题的代码之后编写代码。

chatScrollView.post(new Runnable() 
        { 
            public void run() { 
                chatScrollView.fullScroll(ScrollView.FOCUS_UPs); 
            } 
        });

让我知道它的工作与否?

答案 1 :(得分:0)

你可以只在scrollview下放置一个布局而不是你使用过的嵌套布局..删除内部布局..

参考此文档:

http://developer.android.com/reference/android/widget/ScrollView.html