setEmptyView (), використовуючи завищене подання, не працює

У мене є TabHost з 3 вкладками, кожна з яких містить список, до якого я хочу додати порожній перегляд, показаний, коли немає елементів. Макет виглядає так:


    
        
        
            
                
                
                
                
                
                
                    
                    
                    
                
            
        
    

І в коді, я встановлюю порожній вигляд, як це для кожного ListView (показаний один раз для стислості)

ListView listView = (ListView) findViewById(R.id.tab_all_list);
listView.setEmptyView(findViewById(R.id.empty_list_view));

Тим не менше, пустий перегляд не відображається, якщо адаптер, приєднаний до списку, не містить елементів. Чи має це щось відношення до поглядів-ієрархій або щось?

1

2 Відповіді

Використовуйте ідентифікатор android: id/empty для перегляду будь-якого типу, як описано тут .

2
додано
Я забув згадати - я не використовую ListActivity, тому що це насправді TabActivity які тримають 3 ListViews - 1 для кожної вкладки. Чи є річ з андроїдом: id/empty досі актуальна в такому випадку?
додано Автор Harel Moshe, джерело

Здається, встановлення ідентифікатора порожнього перегляду:

android:id="@id/android:empty"

вирішили це!

1
додано
@mharper: ймовірно, ні, оскільки він не використовує ListViewActivity
додано Автор Kaushik Gopal, джерело
Згідно з документами, ви повинні видалити виклик setEmptyView() тепер, коли ви встановили ідентифікатор перегляду "@ id/android: empty"
додано Автор mharper, джерело
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.