Ach ja, das ist meiner Meinung nach das falsche Verhalten. Aber zum Besseren oder Schlechteren funktioniert Android so.
Ich würde empfehlen, eine benutzerdefinierte Ansicht zu erstellen und stattdessen in die Fußzeile der Tabelle einzufügen. Behalte einen Verweis auf die Ansicht in deiner Aktivität und setze die Sichtbarkeit auf View.VISIBLE
oder View.GONE
abhängig davon, was der Listenadapter in isEmpty()
zurückgibt.
Ich glaube, weil ListView den gesamten Platz einnimmt, und deshalb, wenn Ihr Header leer ist, wird er so klein sein, dass Ihr ListView nur darüber hinweggeht. wenn du verstehst was ich meine?
Vielleicht könnten Sie versuchen, eine Überprüfung durchzuführen, wenn die Ansicht leer ist, um einen Text mit etwas Zufälligem zu verschieben, nur um zu sehen, ob es wirklich da ist.
Oder
Sie machen eine SumWeight, bei der der Header immer einen Prozentsatz Ihres Bildschirms erhält, unabhängig davon, ob er leer ist oder nicht.
Sie können eine Listenansicht und eine Textansicht darunter haben. Wenn eine Listenansicht in Ihrer Listenansicht vorhanden ist, kann Ihre Textansicht unsichtbar gemacht werden. Und wenn Ihre Listenansicht leer ist, nur unsichtbare Listenansicht und die Textansicht sichtbar machen. Dies ist die einfachste Weg und ich benutze das gleiche!