Ответ 1
Простое решение, все, что вам нужно сделать, - это ВСЕГДА установить адаптер для listview
, даже если у вас нет данных для показа.
Я использую следующий макет (header.xml) для добавления заголовка в listview,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/greetingContainer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/categoryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="header view"
android:textColor="#FFFFFF"
android:textSize="15sp" />
</LinearLayout>
а с другой стороны, я использую
View header = (View) getLayoutInflater().inflate(R.layout.header,null);
getListView().addHeaderView(header);
когда список пуст, он не работает, остается невидимым..
мой вопрос может быть дубликатом этого, но неспособным понять,
пожалуйста, помогите!
Простое решение, все, что вам нужно сделать, - это ВСЕГДА установить адаптер для listview
, даже если у вас нет данных для показа.
Я использовал аналогичное представление заголовка, и он отлично подходит, когда в списке нет данных.
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.list, null);
listView = (ListView) view.findViewById(R.id.listView1);
if (listView.getHeaderViewsCount() == 0) {
headerView = View.inflate(getActivity(), R.layout.listheader, null);
listView.addHeaderView(headerView, null, false);
}
return view;
}