我有一个空 View ,它是通过我创建的 ListView 对象设置的。我面临的问题是,即使列表已填充,仍会显示空 View 而不是填充的 ListView (我已尝试删除空 View 并且它可以正常工作)。
这是我有 ListView 和空 View (它们在相对布局中)的 Activity 的 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 的方法:
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);
有人知道问题出在哪里吗?
提前致谢!
最佳答案
试试这个
<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)
}
关于android - emptyView 未被 listView 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44624274/