В ListView
- setEmptyView()
есть специальный метод. Вы можете найти примеры его использования здесь или здесь .
Upd: вторая ссылка сейчас недоступна. Вот цитата из статьи:
Когда вы устанавливаете «пустое представление» ListView программным способом, вы можете почесать голову, почему ваше пустое представление на самом деле не появляется, когда список пуст.
Если это произойдет, то вы забыли, что вы должны вручную добавить свое пустое представление в иерархию представлений, потому что ListView не сделает это за вас. Хотя это очевидно, когда вы думаете об этом, в документации не упоминается эта деталь, и Google показывает, что, по крайней мере, один человек имел проблему.
Вот код со строками, которые слишком легко забыть на цифрах 4 и 5 ...
TextView emptyView = new TextView(context);
emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
emptyView.setText(“This appears when the list is empty”);
emptyView.setVisibility(View.GONE);
((ViewGroup)list.getParent()).addView(emptyView);
list.setEmptyView(emptyView);