为什么我的列表视图不会在android中滚动?

时间:2013-07-11 00:18:56

标签: android xml listview

我有一个列表视图,当我用数据填充它不滚动时。为什么会发生这种情况我觉得我的java代码没问题。我认为问题出在我的xml上。 这是我的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"
android:background="@drawable/bg_main"
tools:context=".IreportMain" >

<RelativeLayout
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="83dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/bg_nav"
    android:gravity="top" >

    <ImageView
        android:id="@+id/Logo1"
        android:layout_width="150dp"
        android:layout_height="80dp"
        android:layout_marginLeft="10dp"
        android:src="@drawable/img_lamp" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:gravity="right"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tv_greetings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:singleLine="true"
            android:text="Welcome Guest"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv_Date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:text="July 2, 2013"
            android:textColor="@color/black" />

        <Button
            android:id="@+id/btn_Logout"
            android:layout_width="70dp"
            android:layout_height="30dp"
            android:text="@string/logout"
            android:textColor="#FFFFFF"
            android:background="@drawable/selector_button_background"
            android:textSize="15sp" />
    </LinearLayout>
</RelativeLayout>

<ScrollView 
android:layout_below="@+id/header"
android:layout_height="fill_parent"
android:layout_width="match_parent"
android:id="@+id/Scrollview">

   <RelativeLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content" >

   <RelativeLayout 
   android:layout_width="match_parent"
   android:layout_height="wrap_content" 
   android:id="@+id/header2" 
   android:layout_marginBottom="20dp">

<ImageView
    android:id="@+id/btn_iScan"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    android:src="@drawable/img_ireport_logo" />

<TextView
    android:id="@+id/tv_Report"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/btn_iScan"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"
    android:text="@string/report"
    android:textColor="@color/black"
    android:textStyle="bold" 
    android:textSize="20sp"/>

<TextView
    android:id="@+id/tv_Code"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/tv_Report"
    android:text="TextView"
    android:textColor="@color/black"
    android:textSize="18sp"
    android:layout_marginLeft="10dp" />

</RelativeLayout>

<LinearLayout
    android:id="@+id/row1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal" 
    android:layout_below="@+id/header2" >

    <TextView
        android:id="@+id/tv_Brand"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/brand"
        android:textColor="@color/black" />

    <TextView
        android:id="@+id/tv_InformationType"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:text="@string/information"
        android:textColor="@color/black" />
</LinearLayout>

<LinearLayout
    android:id="@+id/row2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row1"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal" >

    <RelativeLayout 
        android:id="@+id/relativeLayout1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="30dp"
        android:background="@drawable/gradient"
        android:layout_marginRight="2dp">

        <TextView
            android:id="@+DropDownList/tv_SubBrand"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="@string/select_brand" 
            android:textColor="@color/black"
            android:textSize="13sp" />


</RelativeLayout>

<Spinner
    android:id="@+id/spn_InfoType"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/gradient"
    android:layout_marginRight="2dp"
    android:layout_marginLeft="2dp"
    android:textSize="13sp" />

<!-- 
 <RelativeLayout 
    android:id="@+id/relativeLayout2"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="30dp"
    android:background="@drawable/gradient"
    android:layout_marginLeft="2dp">

    <TextView
        android:id="@+DropDownList/tv_InformationType"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="@string/select_informationtype" 
        android:textColor="@color/black"
        android:textSize="12sp" />

</RelativeLayout>
-->

</LinearLayout>

 <LinearLayout 
    android:id="@+id/row3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row2"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv_District"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/district"
        android:textColor="@color/black" />

    <TextView
        android:id="@+id/tv_CustomerSegment"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:text="@string/segment"
        android:textColor="@color/black" />


</LinearLayout>

<LinearLayout 
    android:id="@+id/row4"
    android:layout_width="fill_parent"
    android:layout_height="30dp"
    android:layout_below="@+id/row3"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <Spinner
        android:id="@+id/spn_District"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@drawable/gradient"
        android:layout_marginRight="2dp"
        android:textSize="13sp" />

  <RelativeLayout 
    android:id="@+id/relativeLayout4"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="30dp"
    android:background="@drawable/gradient"
    android:layout_marginLeft="2dp">

    <TextView
        android:id="@+DropDownList/tv_ConsumerSegment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="@string/select_consumersegment" 
        android:textColor="@color/black"
        android:textSize="13sp" />

</RelativeLayout>



</LinearLayout>

<LinearLayout 
    android:id="@+id/row5"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row4"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv_Province"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/province"
        android:textColor="@color/black" />

    <TextView
        android:id="@+id/tv_DateObserved"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:text="@string/observed"
        android:textColor="@color/black"/>

</LinearLayout>



<LinearLayout 
    android:id="@+id/row6"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row5"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:orientation="vertical"
        android:layout_weight="1">
    <Spinner
        android:id="@+id/spn_Province"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@drawable/gradient"
        android:layout_marginRight="2dp"
        android:textSize="13sp"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:orientation="horizontal"
        android:gravity="center_vertical" 
        android:paddingLeft="10dp"
        android:layout_marginTop="13dp"
        android:layout_marginBottom="7dp">

        <CheckBox
            android:id="@+id/chk_Competitor"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:button="@drawable/selector_checkbox"
            android:checked="false"
            android:focusable="false"
            android:paddingRight="10dp"
            android:text="@string/competitor"
            android:textColor="@color/black" 
            android:textSize="14sp" />

    </LinearLayout>

    </LinearLayout>
    <RelativeLayout 
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/txt_Date"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:singleLine="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:ems="10"
            android:background="@drawable/edittext_bg"
            android:editable="false"
            android:layout_marginLeft="2dp"
            android:paddingLeft="8dp"
            android:textSize="13sp" />


        </RelativeLayout>
    </LinearLayout>

<LinearLayout 
    android:id="@+id/row9"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row6"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv_Remarks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="@color/black"
        android:text="@string/remarks" />

    <TextView
        android:id="@+id/tv_3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="1" />

</LinearLayout>

<LinearLayout 
    android:id="@+id/row10"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row9"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/txt_Remarks"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/edittext_bg"
        android:ems="10"
        android:gravity="top|left"
        android:inputType="textMultiLine"
        android:lines="3"
        android:paddingLeft="3dp"
        android:scrollHorizontally="false"
        android:scrollbars="vertical"
        android:textSize="13sp" />

    </LinearLayout>



<LinearLayout 
    android:id="@+id/row11"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row10"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal"
    android:paddingTop="5dp">


    <TextView
        android:id="@+id/tv_AttachedFiles"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="@color/black"
        android:text="@string/attach" 
        android:textStyle="bold"
        android:textSize="16sp"/>
 </LinearLayout>

<LinearLayout 
    android:id="@+id/row12"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row11"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal"
    android:paddingTop="5dp">

    <TextView
        android:id="@+id/tv_File"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="@color/black"
        android:text="@string/file" 
        android:gravity="center"/>

    <TextView
        android:id="@+id/tv_Description"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_weight="1" 
        android:textColor="@color/black"
        android:text="@string/description" 
        android:singleLine="false"/>

    <TextView
        android:id="@+id/tv_UploadedBy"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_weight="1" 
        android:textColor="@color/black"
        android:text="@string/uploadedby"
        android:singleLine="false" />

    <TextView
        android:id="@+id/tv_DateUploaded"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_weight="1" 
        android:textColor="@color/black"
        android:text="@string/dateuploaded"
        android:singleLine="false" />

    <TextView
        android:id="@+id/tv_Action"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_weight="1" 
        android:textColor="@color/black"
        android:text="@string/action" />

</LinearLayout>

<LinearLayout 
    android:id="@+id/row13"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row12"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal"
    android:paddingTop="5dp">
    <!-- MYLISTVIEW THAT DOESN'T SCROLL -->
    <ListView
        android:id="@+id/lv_AttachedFileData"
        android:layout_width="wrap_content"
        android:layout_height="147dp"
        android:background="@drawable/frame_white_1"
        android:cacheColorHint="#00000000"
        android:drawSelectorOnTop="false"
        android:lines="3"
        android:padding="10dp" >

    </ListView>
</LinearLayout>
<LinearLayout 
    android:id="@+id/row14"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/row13"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="horizontal"
    android:paddingTop="5dp">

    <Button
           android:id="@+id/btn_Save"
           android:layout_width="70dp"
           android:layout_height="35dp"
           android:text="@string/save"
           android:background="@drawable/selector_button_background"
           android:textColor="#FFFFFF"
           android:textSize="15sp" />

    <Button
           android:id="@+id/btn_Submit"
           android:layout_width="70dp"
           android:layout_height="35dp"
           android:text="@string/submit"
           android:background="@drawable/selector_button_background"
           android:layout_marginLeft="10dp"
           android:textColor="#FFFFFF"
           android:textSize="15sp" />

    <Button
           android:id="@+id/btn_Cancel"
           android:layout_width="70dp"
           android:layout_height="35dp"
           android:text="@string/cancel"
           android:background="@drawable/selector_button_background"
           android:layout_marginLeft="10dp"
           android:textColor="#FFFFFF"
           android:textSize="15sp" />

    <Button
        android:id="@+id/btn_Attach"
        android:layout_width="70dp"
        android:layout_height="35dp"
        android:layout_marginLeft="70dp"
        android:text="@string/attach"
        android:background="@drawable/selector_button_background"
        android:textColor="#FFFFFF"
        android:textSize="15sp" />

</LinearLayout>

<RelativeLayout
    android:id="@+id/footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/bg_nav" 
    android:layout_below="@+id/row14"
    android:layout_marginTop="15dp"
    android:layout_gravity="bottom">

    <LinearLayout
        android:id="@+id/row15"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:paddingTop="5dp">

        <TextView
            android:id="@+id/tv_help"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="5dp"
            android:text="@string/help"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv_ContactUs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:text="@string/contactus"
            android:textColor="@color/black"
            android:textStyle="bold" />
    </LinearLayout>

    <TextView
        android:id="@+id/tv_Copyright"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center_horizontal"
        android:text="@string/copyright"
        android:textColor="@color/black" 
        android:layout_below="@+id/row15"/>

    <TextView
        android:id="@+id/tv_Reserved"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center_horizontal"
        android:text="@string/reserved"
        android:textColor="@color/black" 
        android:layout_below="@+id/tv_Copyright"/>

    <TextView
        android:id="@+id/tv_Createdby"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_Reserved"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center_horizontal"
        android:text="@string/createdby"
        android:textColor="@color/black" />
</RelativeLayout>

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

任何想法都将是一个很好的帮助,谢谢

3 个答案:

答案 0 :(得分:3)

只需删除<ScrollView>列表视图无法在<ScrollView>

内删除

答案 1 :(得分:0)

您的ListView父级是ScrollView。所以它失去了滚动属性。所以请从这个xml中删除ScrollView,然后再运行它。

最好在ListView适配器中设置不同的视图类型或使用ListView页脚和标题。

另一种在Android中的ListView中管理ScrollView的方法

此外,您可以使用此方法来解决您在ScrollView中使用ListView所面临的问题

public static void updateListViewHeight(ListView myListView){

 ListAdapter myListAdapter = myListView.getAdapter();
 if (myListAdapter == null) {            
          return;
 }
//get listview height
int totalHeight = 0;
int adapterCount = myListAdapter.getCount()
for (int size = 0; size < adapterCount ; size++) {
    View listItem = myListAdapter.getView(size, null, myListView);
    listItem.measure(0, 0);
    totalHeight += listItem.getMeasuredHeight();
}
//Change Height of ListView 
ViewGroup.LayoutParams params = myListView.getLayoutParams();
params.height = totalHeight + (myListView.getDividerHeight() * (adapterCount - 1));
myListView.setLayoutParams(params);

}

答案 2 :(得分:-2)

我知道我在OP之后发布了这两年,但它可能会帮助有人遇到同样的问题。之前我遇到过这个问题,我在xml中使用以下内容修复它:

<ListView
    android:id="@+id/lv_LVID"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout:weight="1">

</ListView>

如果仍然无法滚动,请尝试删除您可能拥有的任何<ScrollView>作为外部布局。