Top-die meisten und Bottom-meisten Horizontal Teiler zeigt nicht in Listview-up
-
23-09-2019 - |
Frage
Ich bin mit einem Listview. Aber die meisten Top-und am weitesten unten liegenden horizontalen Balken nicht angezeigt. Warum? Ich benutze diese:
android:divider="@android:drawable/divider_horizontal_bright"
Lösung
Haben Sie sehen android:headerDividersEnabled
und android:footerDividersEnabled
auf der ListView
in Einstellung?
Auch wenn Sie suchen nach drawDivider
in Plattform / Frameworks / base / + / Master / core / java / android / Widger / ListView.java in der
Andere Tipps
Fügen Sie einen Dummy-Footer und Header
listViewContato = (ListView) view.findViewById(R.id.listview_contatos);
listViewContato.addHeaderView(new View(getActivity()));
listViewContato.addFooterView(new View(getActivity()));
Hier ist, wie ich es implementiert ...
Boden Teilers zeigt sich nach dem für die android:paddingBottom
ListView
Einstellung. Aber in meinem Fall nach Einstellung android:paddingTop
oberen und unteren Teiler zeigt nicht. Ich weiß nicht, warum.
Also habe ich in meinem list_item_layout.xml
den folgenden Code hinzugefügt:
<View
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />
und in meinem Adapter habe ich nur die Sichtbarkeit dieser Ansicht zu ändern:
View topDivider = v.findViewById(R.id.divider);
if (position == 0) {
topDivider.setVisibility(View.VISIBLE);
} else {
topDivider.setVisibility(View.GONE);
}
Hope dies jemand hilfsbereit wird.
Ich hatte das gleiche Problem mit LibSlideMenu .
Als android:headerDividersEnabled
Satz gilt nicht die Header-Teiler im Sliding Menu zeigte, löste ich es durch Ändern slidemenu.xml
(nicht slidemenu_listitem.xml
) zu
<LinearLayout ...>
<LinearLayout ...>
<ImageView ...> (this is the header image on top of the menu)
<View
android:layout_width="250dip"
android:layout_height="2dip"
android:background="@drawable/divider" />
<ListView ...> (this is the ListView for the MenuItems)
</LinearLayout>
<FrameLayout ...>
</FrameLayout ...>
</LinearLayout>
Damit wird der Teiler manuell hinzufügen.