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