2013-08-23 107 views
1

我有我想要使用滚动视图的布局。滚动视图内有ia listview有固定的9个项目,所以我希望这9个项目应显示在完整的页面上,其余部分部件进入滚动视图。滚动不工作对我的ListView

我的XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <LinearLayout 
     android:id="@+id/headerLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/top_bg" 
     android:orientation="horizontal" > 

     <ImageView 
      android:id="@+id/back_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="5dp" 
      android:onClick="goBack" 
      android:src="@drawable/back_button" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="75dp" 
      android:layout_marginTop="10dp" 
      android:text="Traveller Details" 
      android:textColor="@android:color/white" /> 
    </LinearLayout> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="center" 
     android:layout_below="@+id/headerLayout" 
     android:fillViewport="true"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 
    <LinearLayout 
     android:id="@+id/tittleLayout" 

     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_marginTop="5dp" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/TittleTravellerDetails" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="5dp" 
      android:gravity="left" 
      android:text="Traveller Details" /> 

     <View 
      android:layout_width="wrap_content" 
      android:layout_height="2dip" 
      android:layout_marginTop="2dp" 
      android:background="#FF909090" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/passengerDetails" 
     android:layout_below="@+id/tittleLayout" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 

     <Spinner 
      android:id="@+id/Tittle" 
      android:layout_width="290dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="5dp" 
      android:visibility="gone" 
      android:layout_height="wrap_content"/> 
     <EditText 
      android:id="@+id/firstName" 
      android:layout_width="290dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="10dp" 
      android:maxLines="1" 
      android:hint="First Name" /> 

     <EditText 
      android:id="@+id/LastName" 
      android:layout_width="290dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="10dp" 
      android:maxLines="1" 
      android:hint="Last Name" /> 

     <ListView 
      android:id="@+id/passengerList" 
      android:layout_width="290dp" 
      android:layout_height="166dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="10dp" 
      android:visibility="gone" 
      android:choiceMode="singleChoice" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/ContactDetailsLayout" 
     android:layout_below="@+id/passengerDetails" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_marginTop="10dp" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/TittleContactDetails" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="10dp" 
      android:gravity="left" 
      android:text="ContactDetails" /> 

     <View 
      android:layout_width="wrap_content" 
      android:layout_height="2dip" 
      android:layout_marginTop="2dp" 
      android:background="#FF909090" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/mobileEmailDetails" 
     android:layout_below="@+id/ContactDetailsLayout" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/mobileNumber" 
      android:layout_width="290dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="10dp" 
      android:maxLength="10" 
      android:maxLines="1" 
      android:inputType="number" 
      android:hint="Mobile No" /> 

     <TextView 
      android:id="@+id/emailid" 
      android:layout_width="284dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="8dp" 
      android:layout_marginTop="10dp" 
      android:hint="Email ID" /> 

    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/continueBooking" 
     android:layout_below="@+id/mobileEmailDetails" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/continuebooking" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="30dp" 
      android:src="@drawable/searchflight" /> 

    </LinearLayout> 
    </LinearLayout> 
    </ScrollView> 
</RelativeLayout> 

当列表视图将出现在布局ID内:passengerDetails然后在编辑文本和微调将不会出现。请帮我解决issue.suggest我要做的事

+1

你永远不应该把列表视图下scorllview – Raghunandan

+0

你没有得到任何异常,b'coz据我所知'ScrollView'只能有一个孩子,... – CRUSADER

+0

@Raghunandan但要求是一样的东西,我必须这样做 – Developer

回答

1

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

从文档

引用你不应该使用滚动型有一个ListView,因为ListView控件需要其自身的垂直滚动的照顾。最重要的是,这样做会挫败ListView中用于处理大型列表的所有重要优化,因为它有效地强制ListView显示其整个项目列表以填充由ScrollView提供的无限容器。

您可以将您的其他视图作为页眉和页脚添加到列表视图中。

要添加页脚

public void addFooterView (View v)

Added in API level 1 
Add a fixed view to appear at the bottom of the list. If addFooterView is called more than once, the views will appear in the order they were added. Views added using this call can take focus if they want. 

NOTE: Call this before calling setAdapter. This is so ListView can wrap the supplied cursor with one that will also account for header and footer views. 

Parameters 
v The view to add. 

要添加页眉

public void addHeaderView (View v)

Added in API level 1 
Add a fixed view to appear at the top of the list. If addHeaderView is called more than once, the views will appear in the order they were added. Views added using this call can take focus if they want. 

NOTE: Call this before calling setAdapter. This is so ListView can wrap the supplied cursor with one that will also account for header and footer views. 

Parameters 
v The view to add. 
+0

接受你的答案.so我怎么能得到我的功能,我想 – Developer

+0

@Gaurav你可以添加页眉和页脚listview没有你看到我以前的评论检查编辑后。您应该发布快照而不是要求其他人安装其他应用来理解您的问题。如果是这种情况,向该应用程序的开发人员发送邮件可能是他会帮助您 – Raghunandan

+0

@Gaurav您在评论部分提出了太多问题。如果您有疑问与此处相关的不同,请发布一个新问题。这引发了一场讨论。如果答案有助于接受并提出一个新的问题与相关的详细信息 – Raghunandan

0

将一个滚动条放入另一个滚动条并不是一个好主意。您需要避免这种类型的布局构造。你可能想重新考虑你的布局。

+0

我必须显示列表视图中的9个项目和高度将填充parent.s一些其他方式来创建相同的布局 – Developer

0

这只是简单替换以下上面滚动型:

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:layout_below="@+id/headerLayout" 
    android:layout_gravity="center" 
    android:fillViewport="true" >