Mam ListView, że jestem wypełnianie wartości z mojej bazy danych. Jeśli baza danych jest pusta, ustawiam pierwszą pozycję ListView na "Brak danych". Chcę wyłączyć klikanie tego elementu. Użyłem ArrayAdapter. Próbowałem robić areAllItemsEnabled, isEnabled false, ale to nie miało sensu. Nawet jeśli ustawię ListView na "C" i "setEnabled" na "fałsz", to nie ma sensu. I umieściłem kod dla OnItemClickListener w stanie else, nawet to nie powstrzymuje elementu listy od kliknięcia. Czy ktoś ma alternatywne rozwiązanie? Dzięki!Jak wyłączyć klikanie ListView w systemie Android?
Odpowiedz
W swoim zwyczajem ArrayAdapter użyć funkcji IsEnabled do return false:
@Override
public boolean isEnabled(int position) {
return false;
}
zawsze działa na mnie.
Można ustawić pusty Zobacz jak pokazał i będzie obsługiwane automatycznie:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
android:text="No data"/>
</LinearLayout>
To powinno być zaakceptowane odpowiedź! Nie tylko odpowiada na pytanie, ale także sugeruje lepszy sposób obsługi pustej listy! – chuky
Być może można użyć instrukcji if, aby sprawdzić zawartość wpisu listview w OnClick, jeśli zawiera ona: „Nie dane”nie robić nic, jeszcze zrobić zwykły
tworzyć Adapter do tej listy, a nie zastąpić tę metodę
public boolean isEnabled(int position);
następnie powrócić false
gdy chcesz wyłączyć jednym kliknięciem
tym łatwiejsze! list.setEnabled (fałsz)
Wielkie dzięki! jego pracował dla mnie, wszystko powyższe nie działało dla mnie .. –
Źle! Zapobiega to przewijaniu. –
Zrobiłem tak według mojego wymogu nadzieję, że może Ci pomóc niektórym jak
@Override
public boolean isEnabled(int position) {
if(data.get(position).isClickable==false)
{
return false;
}
return super.isEnabled(position);
}
- 1. Odwrócony listView w systemie Android?
- 2. Jak uczynić ListView przezroczystym w systemie Android?
- 3. jak wyłączyć element w moim ListView
- 4. Jak wyłączyć przewijanie GridView w systemie Android?
- 5. Jak wyłączyć dowolne zdarzenie w widoku w systemie Android?
- 6. Jak wyłączyć widok nagłówka w ListView
- 7. Jak wyświetlić listę obrazów w aplikacji ListView w systemie Android?
- 8. Jak ręcznie zmienić kolejność ListView w systemie Android?
- 9. Jak utworzyć ListView z przerywanymi liniami przerywanymi w systemie Android?
- 10. Qml: jak wyłączyć przewijanie/przeciąganie w ListView?
- 11. Jak wyłączyć tryb wielowidokowy dla działania w systemie Android N +
- 12. Jak programowo wyłączyć połączenie GSM w systemie Android
- 13. Jak można programowo wyłączyć/włączyć 3G w systemie Android?
- 14. Korzystanie z ListView do tworzenia ekranu ustawień w systemie Android?
- 15. Android ListView w Fragment
- 16. Android: stopka w ListView
- 17. Rozdzielacz ListView nie jest wyświetlany w systemie Android 5
- 18. Android: jak ukryć element ListView?
- 19. Rozmiar pojedynczego elementu listview android
- 20. Czy programowo można wyłączyć tryb cichy w systemie Android?
- 21. Jak ustawić niestandardowy ListView w Android Fragement?
- 22. Android: EditText w ListView wydanie
- 23. Jak programowo utworzyć menu w systemie Android?
- 24. styl elementu Android listview?
- 25. Android ListView Główki
- 26. Android EdytujTekst w ListView - klawiatura
- 27. Android ListView w przykładzie fragmentu
- 28. Jak uzyskać widok elementu w widoku listy w systemie Android?
- 29. Android ListView lazy loading
- 30. Android ListView motywy
pracował także dla mnie !! –
Rocking ... to działa dobrze ... – vabhavsingh
Jak mogę ponownie włączyć po wyłączeniu? –