emptyView没有被listView

时间:2017-06-19 07:09:25

标签: android listview

我有一个空视图,我通过我创建的ListView对象设置。我面临的问题是,即使填充了列表,仍会显示空视图,而不是填充的列表视图(我尝试删除空视图,它可以正常工作)。

以下是我有ListView和空视图的活动的xml布局代码(它们是相对布局):

<ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/requests_list"
        />
    <TextView
        android:id="@+id/no_requests_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="No current requests"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
        android:fontFamily="sans-serif-smallcaps"
        android:visibility="gone"
        />

以下是我设置空视图的方法:

View emptyView = findViewById(R.id.no_requests_textView);
        RequestAdapter requestAdapter = new RequestAdapter(this, requestDetailsArrayList);

        ListView requestsListView = (ListView) findViewById(R.id.requests_list);
        requestsListView.setAdapter(requestAdapter);
        requestsListView.setEmptyView(emptyView);

有谁知道这是什么问题?

提前致谢!

2 个答案:

答案 0 :(得分:1)

试试这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>
<TextView
    android:id="@+id/no_requests_textView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone"
    android:text="no request" >
</TextView>

TextView emptyView = findViewById(R.id.no_requests_textView);
if(requestDetailsArrayList.size()==0)

{
    emptyView.setVisibility(View.VISIBLE);
    ListView.setVisibility(View.GONE)
}

else

{
    emptyView.setVisibility(View.GONE);
    ListView.setVisibility(View.VISIBLE)
}

答案 1 :(得分:0)

您需要做的是从主布局中删除空视图并使其以不同的布局进行,并添加以下行:

create user db1_admin;
create schema app_relations;
alter schema app_relations owner to db1_admin;