Android 视图。无法正常工作

Android 视图。无法正常工作,android,xml,Android,Xml,我有一个从web API获取的项目的GridView。我希望在到达gridview的末尾时显示“加载更多”按钮。在我点击按钮之前,它工作正常。按钮应该消失而不留下空间,但它实际上离开了空间 当我到达GridView的末尾时,我得到了这个。 当我点击“加载更多”按钮时,它消失了,这很好,但留下了空间。 下面是我的一段代码: @覆盖 public void onScroll(AbsListView视图、int firstVisibleItem、int visibleItemCount、int to

我有一个从web API获取的项目的GridView。我希望在到达gridview的末尾时显示“加载更多”按钮。在我点击按钮之前,它工作正常。按钮应该消失而不留下空间,但它实际上离开了空间

当我到达GridView的末尾时,我得到了这个。 当我点击“加载更多”按钮时,它消失了,这很好,但留下了空间。 下面是我的一段代码:

@覆盖
public void onScroll(AbsListView视图、int firstVisibleItem、int visibleItemCount、int totalItemCount)
{
Log.v(“TestInstallationTaskLst”、“onScroll”);
int lastItem=firstVisibleItem+visibleItemCount;
如果(lastItem==totalItemCount&&totalItemCount!=0)
{
loadMoreButton.setVisibility(View.VISIBLE);
}
其他的
{
loadMoreButton.setVisibility(View.GONE);
}
}
@凌驾
公共void onClick(视图)
{
如果(视图==loadMoreButton)
{
int offset=assets.size()+1;
new DownloadTask().execute(搜索文本、偏移量、限制);
loadMoreButton.setVisibility(View.GONE);
}
}

这可能是因为您为
线性布局
元素设置了不正确的
布局高度

试试这个:

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

    <SearchView android:id="@+id/searchView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:queryHint="Search vehicle"/>

    <GridView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_centerHorizontal="true"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="20dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:numColumns="2">
    </GridView>

    <Button
        android:id="@+id/load_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Load more"/>

</LinearLayout>


如果使用
layout\u weight
设置元素的高度,请使用
layout\u height=“0dp”
,而不使用
layout\u height=“match\u parent”
。此外,您还将
searchView的高度设置为
match\u parent

尝试使用RelativeLayout

编辑:



您是否在match_parent上设置了gridview的高度?是的,但它不起作用。您可以发布活动/片段的xml布局吗?请显示您的布局文件吗?我发布了我的xml布局您是否尝试对
线性布局的每个元素使用这些高度?我也尝试了相对布局。它似乎也不起作用。我的SearchView消失。@我编辑了我的答案。请重试并用我的替换所有xml文件。这对我很有效。正是你想要的
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <SearchView android:id="@+id/searchView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:queryHint="Search vehicle"/>

    <GridView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_centerHorizontal="true"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="20dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:numColumns="2">
    </GridView>

    <Button
        android:id="@+id/load_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Load more"/>

</LinearLayout>
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Main Content View (Must be first child in the DrawerLayout -->
<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray">

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

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:indeterminate="true"
        android:layout_centerInParent="true"/>

    <SearchView
        android:id="@+id/searchView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:clickable="true"
        android:queryHint="Search vehicle"/>


    <GridView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/searchView"
        android:layout_centerHorizontal="true"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="20dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:numColumns="2">
    </GridView>

    <Button
        android:id="@+id/load_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Load more"/>

</RelativeLayout>

</FrameLayout>