2017-08-16 90 views
0


我在选项卡内的ListView的大小有问题。
我认为这很简单,但我找不到解决方案。

活动与默认相同,除了用ListView更改的TextView。
我使用带有三个项目(“P1”,“P2”,“P3”)的虚拟列表的ArrayAdapter。
所有尺寸都设置为“match_parent”或“WRAP_CONTENT”

我得到的是这样的:我只看到“P1”,而不是整个列表,用少许滚动条允许值之间滚动。
我想看到的是整个列表。

screenshot of my app

有人能帮助我吗?

Tab中的Android ListView只显示一行

主活动布局

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/main_content" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="it.danapps.mycommunity.ChooseTags"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="@dimen/appbar_padding_top" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <Spinner 
      android:id="@+id/spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 
    </android.support.v7.widget.Toolbar> 

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

<android.support.v4.widget.NestedScrollView 
    android:id="@+id/container_choose_tags" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 



片段

<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" 
tools:context="it.danapps.mycommunity.ChooseTags$PlaceholderFragment"> 


<ListView 
    android:id="@+id/chooseTagListView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    /> 



编辑
1.强制高度300dp我看到名单。但是,我怎样才能自动执行到Android,适应屏幕?

<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" 
tools:context="it.danapps.mycommunity.ChooseTags$PlaceholderFragment"> 


<ListView 
    android:id="@+id/chooseTagListView" 
    android:layout_width="match_parent" 
    android:layout_height="300dp" 
    /> 



ListView with 300dp height

+1

尝试将ListView和NestedScrollView的android:layout_height更改为match_parent。 –

+0

我试过了,但没有改变什么 – DanB

回答

0

如果TextViews被设置为 “match_parent” 这将是您的问题。确保你的TextViews使用设定的高度或使用“wrap_content”。否则,你的TextView将尝试填充它放置的scrollview的高度,这就是为什么你只看到第一个。

+0

是的,强制高度为300dp我看到了列表。但是,我怎样才能自动执行到Android,适应屏幕? – DanB

+0

不确定你的意思?如果您需要scrollview中的每个单元格都是屏幕的高度,则可以以编程方式将子params的布局参数设置为屏幕高度。如果您需要TextViews的高度符合其包含的文本的要求,则可以使用“wrap_content” – Devsil

+0

我希望在屏幕上看到整个列表:查看屏幕可用性之前的所有元素(其余部分将显示使用滚动条)。试着更好地解释我:在屏幕上我有空间来看看3个元素,但如果我使用“Match_parent”或“fill_content”,我只能看到一个;强制高度为dp(例如300),我正确看到3个元素。更新这篇文章的屏幕截图 – DanB