Android ListView在滚动视图中仅显示一项?

Android ListView在滚动视图中仅显示一项?,android,listview,scrollview,Android,Listview,Scrollview,我有一个ListView,在这里我改变了行的外观,但ListView的大小是一行,而不是全屏。 我的scrollview正在工作,但listview不工作 activity\u graph\u view.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android

我有一个ListView,在这里我改变了行的外观,但ListView的大小是一行,而不是全屏。 我的scrollview正在工作,但listview不工作

activity\u graph\u view.xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_graph_table_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="00dp"
    android:background="@color/background"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <include
                android:id="@+id/toolbar"
                layout="@layout/toolbar" />

        </LinearLayout>

    </android.support.design.widget.AppBarLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/appbar"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="5dp"
            android:orientation="vertical">

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:id="@+id/layoutTableOne"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:visibility="visible">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:padding="5dp"
                        android:text="Table View"
                        android:textSize="@dimen/subheading"
                        android:textColor="@color/subheading"
                        android:textAllCaps="false" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical">

                        <ListView
                            android:id="@+id/lv_spirometer"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:divider="@color/mdtp_button_selected"
                            android:dividerHeight="1dp" />

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:visibility="visible"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:weightSum="1">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="2">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1.9"
                            android:padding="10dp"
                            android:text="Graph View"
                            android:textAllCaps="false"
                            android:textColor="@color/subheading"
                            android:textSize="@dimen/subheading" />

                    </LinearLayout>

                    <com.jjoe64.graphview.GraphView
                        android:id="@+id/grapfinal"
                        android:layout_width="match_parent"
                        android:layout_height="200dp"
                        android:layout_weight="1" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="5dp"
                        android:weightSum="1">

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

                            <LinearLayout
                                android:id="@+id/grphtextColor"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

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

                            <LinearLayout
                                android:id="@+id/grphtextColor2"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:background="@color/red_btn_bg_color"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:visibility="visible"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:weightSum="1">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="2">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1.9"
                            android:padding="10dp"
                            android:text="Graph View"
                            android:textAllCaps="false"
                            android:textColor="@color/subheading"
                            android:textSize="@dimen/subheading" />

                    </LinearLayout>

                    <com.jjoe64.graphview.GraphView
                        android:id="@+id/grapfinal1"
                        android:layout_width="match_parent"
                        android:layout_height="200dp"
                        android:layout_weight="1" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="5dp"
                        android:weightSum="1">

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

                            <LinearLayout
                                android:id="@+id/grphtextColor1"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:background="@color/red_btn_bg_color"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

        </LinearLayout>

    </ScrollView>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        app:cardBackgroundColor="#fff4f4f3"
        app:cardElevation="10dp"
        app:cardPreventCornerOverlap="true"
        card_view:cardCornerRadius="8dp">

        <LinearLayout
            android:padding="5dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_date"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/tv_fvc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="FVC 3.15 L" />

                <TextView
                    android:id="@+id/tv_fev1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="FEV1 2.44 L" />

                <TextView
                    android:id="@+id/tv_pef"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="PEF 3.74 L/s" />

            </LinearLayout>

        </LinearLayout>

    </android.support.v7.widget.CardView>

</LinearLayout>

肺活量计项目.xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_graph_table_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="00dp"
    android:background="@color/background"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <include
                android:id="@+id/toolbar"
                layout="@layout/toolbar" />

        </LinearLayout>

    </android.support.design.widget.AppBarLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/appbar"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="5dp"
            android:orientation="vertical">

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:id="@+id/layoutTableOne"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:visibility="visible">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:padding="5dp"
                        android:text="Table View"
                        android:textSize="@dimen/subheading"
                        android:textColor="@color/subheading"
                        android:textAllCaps="false" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical">

                        <ListView
                            android:id="@+id/lv_spirometer"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:divider="@color/mdtp_button_selected"
                            android:dividerHeight="1dp" />

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:visibility="visible"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:weightSum="1">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="2">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1.9"
                            android:padding="10dp"
                            android:text="Graph View"
                            android:textAllCaps="false"
                            android:textColor="@color/subheading"
                            android:textSize="@dimen/subheading" />

                    </LinearLayout>

                    <com.jjoe64.graphview.GraphView
                        android:id="@+id/grapfinal"
                        android:layout_width="match_parent"
                        android:layout_height="200dp"
                        android:layout_weight="1" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="5dp"
                        android:weightSum="1">

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

                            <LinearLayout
                                android:id="@+id/grphtextColor"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

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

                            <LinearLayout
                                android:id="@+id/grphtextColor2"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:background="@color/red_btn_bg_color"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:visibility="visible"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:padding="5dp"
                    android:weightSum="1">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="2">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1.9"
                            android:padding="10dp"
                            android:text="Graph View"
                            android:textAllCaps="false"
                            android:textColor="@color/subheading"
                            android:textSize="@dimen/subheading" />

                    </LinearLayout>

                    <com.jjoe64.graphview.GraphView
                        android:id="@+id/grapfinal1"
                        android:layout_width="match_parent"
                        android:layout_height="200dp"
                        android:layout_weight="1" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="5dp"
                        android:weightSum="1">

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

                            <LinearLayout
                                android:id="@+id/grphtextColor1"
                                android:layout_width="10dp"
                                android:layout_height="10dp"
                                android:layout_marginTop="3dp"
                                android:background="@color/red_btn_bg_color"
                                android:orientation="vertical" />

                            <TextView
                                android:id="@+id/grphtext1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="Hello"
                                android:textColor="@color/subheading"
                                android:textSize="14dp" />

                        </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

        </LinearLayout>

    </ScrollView>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        app:cardBackgroundColor="#fff4f4f3"
        app:cardElevation="10dp"
        app:cardPreventCornerOverlap="true"
        card_view:cardCornerRadius="8dp">

        <LinearLayout
            android:padding="5dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_date"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/tv_fvc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="FVC 3.15 L" />

                <TextView
                    android:id="@+id/tv_fev1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="FEV1 2.44 L" />

                <TextView
                    android:id="@+id/tv_pef"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="PEF 3.74 L/s" />

            </LinearLayout>

        </LinearLayout>

    </android.support.v7.widget.CardView>

</LinearLayout>

CustomAdapter1.java

public class CustomAdapter1 extends BaseAdapter {
        ArrayList<GetUserSpirometer> arrayList;

        public CustomAdapter1(ArrayList<GetUserSpirometer> arrayList){
            this.arrayList=arrayList;
            Log.e("arraylist length",""+arrayList.size());
        }

        @Override
        public int getCount() {
            return arrayList.size();
        }

        @Override
        public Object getItem(int position) {
            return position;
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater= getLayoutInflater();
            ViewHolder1 holder=new ViewHolder1();
            convertView = inflater.inflate(R.layout.spirometer_item, parent, false);
            holder.tv_date=(TextView)convertView.findViewById(R.id.tv_date);
            holder.tv_fvc=(TextView)convertView.findViewById(R.id.tv_fvc);
            holder.tv_fev1=(TextView)convertView.findViewById(R.id.tv_fev1);
            holder.tv_pef=(TextView)convertView.findViewById(R.id.tv_pef);

            String[] arr = getDate(Long.parseLong(arrayList.get(position).get_date()), "MMM dd, yyy/hh:mm a").split("/");
            holder.tv_date.setText(arr[0] + "\n" + arr[1]);
            holder.tv_fvc.setText(arrayList.get(position).get_userfvc());
            holder.tv_fev1.setText(arrayList.get(position).get_userfev1());
            holder.tv_pef.setText(arrayList.get(position).get_userpef());
            convertView.setTag(holder);

            return convertView;
        }
    }
公共类CustomAdapter1扩展了BaseAdapter{
ArrayList ArrayList;
公共CustomAdapter1(ArrayList ArrayList){
this.arrayList=arrayList;
Log.e(“arraylist长度”,“arraylist.size());
}
@凌驾
public int getCount(){
返回arrayList.size();
}
@凌驾
公共对象getItem(int位置){
返回位置;
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气机=getLayoutInflater();
ViewHolder1 holder=新ViewHolder1();
convertView=充气机。充气(R.layout.spirometer_项目,父项,错误);
holder.tv_date=(TextView)convertView.findViewById(R.id.tv_date);
holder.tv_fvc=(TextView)convertView.findViewById(R.id.tv_fvc);
holder.tv_fev1=(TextView)convertView.findViewById(R.id.tv_fev1);
holder.tv\u pef=(TextView)convertView.findViewById(R.id.tv\u pef);
字符串[]arr=getDate(Long.parseLong(arrayList.get(position.get_date()),“mm-dd,yyy/hh:mm-a”)。拆分(“/”;
holder.tv_date.setText(arr[0]+“\n”+arr[1]);
holder.tv_fvc.setText(arrayList.get(position.get_userfvc());
holder.tv_fev1.setText(arrayList.get(position.get_userfev1());
holder.tv_pef.setText(arrayList.get(position.get_userpef());
convertView.setTag(支架);
返回视图;
}
}
项目没有滚动

如何解决这个问题。请帮忙


提前感谢。

然后您需要更改itemView的xml文件

 android:layout_height="match_parent"
而不是像

 android:layout_height="wrap_content"
spirometer_item.xml中的简单更改
……您的设计代码

这么长一段时间以来,我一直都有同样的问题。然后我找到了一个适合我的解决方案。 添加ListViewHelper java类。下面是ListViewHelper.java的代码

package com.molescope;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;

public class ListViewHelper {
    public static void getListViewSize(ListView listView){
        ListAdapter adapter = listView.getAdapter();
        if(adapter!=null){
            int totalHeight = 0;

            //setting list adapter in loop tp get final size
            for (int i=0; i<adapter.getCount(); i++){
                View listItem = adapter.getView(i, null, listView);
                listItem.measure(0,0);
                totalHeight += listItem.getMeasuredHeight();
            }
            //setting listview items in adapter
            ViewGroup.LayoutParams params = listView.getLayoutParams();
            params.height = totalHeight + (listView.getDividerHeight() * 
    (adapter.getCount()-1));
            listView.setLayoutParams(params);

        }else{
            return;
        }
    }
}
package com.molescope;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ListAdapter;
导入android.widget.ListView;
公共类ListViewHelper{
公共静态无效getListViewSize(ListView ListView){
ListAdapter=listView.getAdapter();
if(适配器!=null){
int totalHeight=0;
//设置列表适配器在循环中tp获取最终大小

对于(int i=0;i尝试将
LinearLayout
的高度更改为
android:layout\u height=“wrap\u content”
在您的
肺活量计项目.xml
中,使用嵌套滚动视图而不是滚动视图。@NileshRathodworking@Prabal.PX使用
recyclerView
而不是
ListView
NestedScroll View
而不是
ScrollView
可滚动布局(ScrollView,recyclerView)应具有“包装内容”对于高度,不匹配无需更改
布局\u宽度