Android的列表视图不滚动

Android的列表视图不滚动

本文介绍了Android的列表视图不滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个布局的开始标记(父标签)的

 <滚动视图
的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT>
 

后来我有许多图像,TextView的,编辑文本和其他东西,最后一个列表视图。我已经定义列表视图的摄氏230dp为prescribed给我。事情是整个布局滚动不错,但列表视图中的内容不会单独滚动。这是怎样的XML看起来...

 <滚动型
    的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT
     >
    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT
    机器人:方向=垂直>
    < TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =50dp
         机器人:文本=BISCOOT
         机器人:TEXTSIZE =25dp
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>
    < RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
     机器人:方向=垂直机器人:layout_width =FILL_PARENT
     机器人:layout_height =200dp机器人:后台=#FF000000>

      < ImageSwitcher机器人:ID =@ + ID / switcher1机器人:layout_width =FILL_PARENT
      机器人:layout_height =200dp
      机器人:layout_alignParentLeft =真正的机器人:layout_alignParentRight =真正的>
      < / ImageSwitcher>
        <进度
              机器人:ID =@ + ID / progressBar2
              机器人:layout_width =WRAP_CONTENT
              机器人:layout_height =WRAP_CONTENT机器人:layout_centerHorizo​​ntal =真
               />
        < ImageButton的机器人:ID =@ + ID / imageButton1机器人:layout_width =WRAP_CONTENT
       机器人:layout_height =WRAP_CONTENT机器人:layout_alignParentRight =真
       机器人:layout_centerVertical =真正的机器人:SRC =@机器人:可绘制/ ic_media_ff/>

        < ImageButton的机器人:ID =@ + ID / imageButton2机器人:layout_width =WRAP_CONTENT
      机器人:layout_height =WRAP_CONTENT机器人:layout_alignParentLeft =真
      机器人:layout_alignTop =@ + ID / imageButton1机器人:SRC =@机器人:可绘制/ ic_media_rew/>
  < / RelativeLayout的>
    < TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =30dp
         机器人:文本=最新的头条新闻
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>
    <进度
        机器人:ID =@ + ID / progressBar1
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_gravity =中心/>
         <的LinearLayout机器人:方向=垂直
             机器人:layout_width =FILL_PARENT
             机器人:layout_height =FILL_PARENT>
      <的ListView
        机器人:ID =@机器人:ID /列表
        机器人:layout_width =FILL_PARENT
        机器人:scrollbarFadeDuration =0
        机器人:scrollbarStyle =outsideOverlay
        机器人:smoothScrollbar =真
          机器人:layout_height =260dp>
     < / ListView控件>
    < / LinearLayout中>



    <! -
    < TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =30dp
         机器人:文本=海洛因在岩石
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>
    < RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
     机器人:方向=垂直机器人:layout_width =FILL_PARENT
     机器人:layout_height =200dp机器人:后台=#FF000000>

      < ImageSwitcher机器人:ID =@ + ID / switcher2机器人:layout_width =FILL_PARENT
      机器人:layout_height =200dp
      机器人:layout_alignParentLeft =真正的机器人:layout_alignParentRight =真/>

        < ImageButton的机器人:ID =@ + ID / imageButton3机器人:layout_width =WRAP_CONTENT
       机器人:layout_height =WRAP_CONTENT机器人:layout_alignParentRight =真
       机器人:layout_centerVertical =真正的机器人:SRC =@机器人:可绘制/ ic_media_ff/>

        < ImageButton的机器人:ID =@ + ID / imageButton4机器人:layout_width =WRAP_CONTENT
      机器人:layout_height =WRAP_CONTENT机器人:layout_alignParentLeft =真
      机器人:layout_alignTop =@ + ID / imageButton1机器人:SRC =@机器人:可绘制/ ic_media_rew/>
  < / RelativeLayout的>
   - >




< TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =30dp
         机器人:文本=看电影
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>
    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =100dp机器人:方向=横向
    机器人:weightSum =6
    >
        < ImageView的

            机器人:layout_height =100dp
            机器人:layout_width =WRAP_CONTENT机器人:layout_weight =1
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg1
            />
         < ImageView的机器人:layout_height =100dp
            机器人:layout_width =WRAP_CONTENT机器人:layout_weight =1
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg2/>
          < ImageView的机器人:layout_height =100dp机器人:layout_weight =1
            机器人:layout_width =WRAP_CONTENT
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg3/>

          <进度
              机器人:ID =@ + ID / progressBar3
              机器人:layout_width =WRAP_CONTENT
              机器人:layout_height =WRAP_CONTENT
              机器人:layout_gravity =中心/>

           < ImageView的机器人:layout_height =100dp机器人:layout_weight =1
            机器人:layout_width =WRAP_CONTENT
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg4/>
            < ImageView的机器人:layout_height =100dp机器人:layout_weight =1
            机器人:layout_width =WRAP_CONTENT
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg5/>
             < ImageView的机器人:layout_height =100dp机器人:layout_weight =1
            机器人:layout_width =WRAP_CONTENT
           机器人:layout_marginLeft =2DP机器人:layout_marginRight =2DP
            机器人:ID =@ + ID / watchmoviesimg6/>


    < / LinearLayout中>
    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =200dp
    机器人:方向=垂直
    >
              < TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =30dp
         机器人:文本=照片故事
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>

              <进度
                  机器人:ID =@ + ID / progressBar4
                  机器人:layout_width =WRAP_CONTENT
                  机器人:layout_height =WRAP_CONTENT
                  机器人:layout_gravity =中心/>

               < ImageView的
                   机器人:ID =@ + ID / photostoryimageview1
                   机器人:layout_height =200dp机器人:layout_weight =1
            机器人:layout_width =FILL_PARENT
            />
               < / LinearLayout中>

    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =200dp
    机器人:方向=垂直
    >
                 < TextView的Andr​​oid的:layout_width =FILL_PARENT
         机器人:layout_height =30dp
         机器人:文本=特星
         机器人:背景=@可绘制/ item_bg_light
         机器人:文字颜色=@机器人:彩色/白
         机器人:重力=中心/>

                 <进度
                     机器人:ID =@ + ID / progressBar5
                     机器人:layout_width =WRAP_CONTENT
                     机器人:layout_height =WRAP_CONTENT
                     机器人:layout_gravity =中心/>

               < ImageView的
                   机器人:ID =@ + ID / starSpecialimageView1
                   机器人:layout_height =200dp机器人:layout_weight =1
            机器人:layout_width =FILL_PARENT
            />
               < / LinearLayout中>

< / LinearLayout中>
< /滚动型>
 

解决方案

简单地说,从布局删除滚动型。而且,使的LinearLayout 父。而且,尝试运行你的应用程序。它将滚动列表。

由于该的ListView 类实现了自己的滚动,它只是不接收的手势,因为他们都被父处理滚动型我强烈建议你以某种方式简化您的布局。例如,您可以添加要滚动到的ListView意见的页眉或页脚。

看一看这个

更新

取一个父布局有两个孩子。而且,在一个版面它应该包含滚动型您的内容。而且,在另一个布局包含您的的ListView 尝试像这个他做过类似的之一。

i have a layout whose starting tag(parent tag is ) is

<scroll view
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

later i have many images , textView , Edit text and other things, and finally a list view.i have defined the hight of listview as 230dp as prescribed to me.the thing is the whole layout is scrolling nice, but the content inside the listview is not scrolling individually . this is how the xml looks...

    <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     >
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView android:layout_width="fill_parent"
         android:layout_height="50dp"
         android:text="BISCOOT"
         android:textSize="25dp"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" android:layout_width="fill_parent"
     android:layout_height="200dp" android:background="#ff000000">

      <ImageSwitcher android:id="@+id/switcher1" android:layout_width="fill_parent"
      android:layout_height="200dp"
      android:layout_alignParentLeft="true" android:layout_alignParentRight="true" >
      </ImageSwitcher>
        <ProgressBar
              android:id="@+id/progressBar2"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"  android:layout_centerHorizontal="true"
               />
        <ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content"
       android:layout_height="wrap_content" android:layout_alignParentRight="true"
       android:layout_centerVertical="true" android:src="@android:drawable/ic_media_ff" />

        <ImageButton android:id="@+id/imageButton2" android:layout_width="wrap_content"
      android:layout_height="wrap_content" android:layout_alignParentLeft="true"
      android:layout_alignTop="@+id/imageButton1" android:src="@android:drawable/ic_media_rew" />
  </RelativeLayout>
    <TextView android:layout_width="fill_parent"
         android:layout_height="30dp"
         android:text="Latest headLines"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>
    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
         <LinearLayout android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">
      <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:scrollbarFadeDuration="0"
        android:scrollbarStyle="outsideOverlay"
        android:smoothScrollbar="true"
          android:layout_height="260dp">
     </ListView>
    </LinearLayout>



    <!--
    <TextView android:layout_width="fill_parent"
         android:layout_height="30dp"
         android:text="Heroin On the Rocks"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" android:layout_width="fill_parent"
     android:layout_height="200dp" android:background="#ff000000">

      <ImageSwitcher android:id="@+id/switcher2" android:layout_width="fill_parent"
      android:layout_height="200dp"
      android:layout_alignParentLeft="true" android:layout_alignParentRight="true" />

        <ImageButton android:id="@+id/imageButton3" android:layout_width="wrap_content"
       android:layout_height="wrap_content" android:layout_alignParentRight="true"
       android:layout_centerVertical="true" android:src="@android:drawable/ic_media_ff" />

        <ImageButton android:id="@+id/imageButton4" android:layout_width="wrap_content"
      android:layout_height="wrap_content" android:layout_alignParentLeft="true"
      android:layout_alignTop="@+id/imageButton1" android:src="@android:drawable/ic_media_rew" />
  </RelativeLayout>
  -->




<TextView android:layout_width="fill_parent"
         android:layout_height="30dp"
         android:text="Watch Movies"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="100dp" android:orientation="horizontal"
    android:weightSum="6"
    >
        <ImageView

            android:layout_height="100dp"
            android:layout_width="wrap_content" android:layout_weight="1"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg1"
            />
         <ImageView android:layout_height="100dp"
            android:layout_width="wrap_content" android:layout_weight="1"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg2"/>
          <ImageView android:layout_height="100dp" android:layout_weight="1"
            android:layout_width="wrap_content"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg3"/>

          <ProgressBar
              android:id="@+id/progressBar3"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center" />

           <ImageView android:layout_height="100dp" android:layout_weight="1"
            android:layout_width="wrap_content"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg4"/>
            <ImageView android:layout_height="100dp" android:layout_weight="1"
            android:layout_width="wrap_content"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg5"/>
             <ImageView android:layout_height="100dp" android:layout_weight="1"
            android:layout_width="wrap_content"
           android:layout_marginLeft="2dp" android:layout_marginRight="2dp"
            android:id="@+id/watchmoviesimg6"/>


    </LinearLayout>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:orientation="vertical"
    >
              <TextView android:layout_width="fill_parent"
         android:layout_height="30dp"
         android:text="Photo Stories"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>

              <ProgressBar
                  android:id="@+id/progressBar4"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center" />

               <ImageView
                   android:id="@+id/photostoryimageview1"
                   android:layout_height="200dp" android:layout_weight="1"
            android:layout_width="fill_parent"
            />
               </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:orientation="vertical"
    >
                 <TextView android:layout_width="fill_parent"
         android:layout_height="30dp"
         android:text="Star Special"
         android:background="@drawable/item_bg_light"
         android:textColor="@android:color/white"
         android:gravity="center"/>

                 <ProgressBar
                     android:id="@+id/progressBar5"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center"/>

               <ImageView
                   android:id="@+id/starSpecialimageView1"
                   android:layout_height="200dp" android:layout_weight="1"
            android:layout_width="fill_parent"
            />
               </LinearLayout>

</LinearLayout>
</ScrollView>
解决方案

Simply, remove the ScrollView from your layout. And, make the LinearLayout as parent. And, try to run your app. It will scroll the list.

Because the ListView class implements its own scrolling and it just doesn't receive gestures because they all are handled by the parent ScrollView I strongly recommend you to simplify your layout somehow. For example you can add views you want to be scrolled to the ListView as headers or footers.

Have a look at this

Update

Take one parent layout with two child. And, in one layout it should contain ScrollView with your contents. And, on another layout contain your ListView Try like this He has done like that one.

这篇关于Android的列表视图不滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 06:29