2013-05-23 16 views
5

Używam this library od Chrisa Banesa (nigdy nie będę wystarczająco wdzięczny temu człowiekowi). Ma dwa różne zachowania w zależności od wersji Androida. Chcę pozbyć się podpowiedzi graficznej dotyczącej PullToRefresListView (zaznaczonej na poniższym obrazku), która jest wyświetlana tylko na urządzeniach z Androidem niższym niż 4.0.Android Pull To Refresh ListView: wyeliminuj wskazówkę strzałki

Czy ktoś wie, jak to zrobić?

enter image description here

ROZWIĄZANIE:

dla kogokolwiek w przyszłości szukasz tego samego roztworu Oto ona: w zmianie klasa PullToRefreshAdapterViewBase getShowIndicatorInternal metody z tego:

private boolean getShowIndicatorInternal() { 

    return mShowIndicator && isPullToRefreshEnabled(); 
} 

do tego:

private boolean getShowIndicatorInternal() { 

    return false; 
} 

Odpowiedz

10

Jeśli korzystasz z pliku XML układu, możesz również określić ptr:ptrShowIndicator="false" w deklaracji PullToRefreshView. Na przykład:

<com.handmark.pulltorefresh.library.PullToRefreshListView 
     xmlns:ptr="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/pullToRefreshListView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     ptr:ptrShowIndicator="false" > 
    </com.handmark.pulltorefresh.library.PullToRefreshListView> 

dla innych atrybutów, można zwrócić się do /res/values/attrs.xml w bibliotece, która jest self-udokumentowane.

Możesz również znaleźć sample project wartego obejrzenia.

+0

To jest najlepsze! Czy możesz mi powiedzieć, gdzie w kodzie widzę te atrybuty? Gdzie mogę sprawdzić, które atrybuty mogę nadać elementowi niestandardowemu, np. Com.handmark.pulltorefresh.library.PullToRefreshListView? Dziękuję Ci bardzo! – aveschini

+0

Nie ma za co ~ :) Proszę zobaczyć moją zredagowaną odpowiedź, aby uzyskać więcej informacji. – TactMayers

1

Powiedziałbym, spróbuj sprawdzić, czy możesz dostosować kod, aby go po prostu wyjąć. Nie wiem, czy są jakieś metody, aby to zrobić dla ciebie, ale jeśli są, powinny być łatwe do znalezienia.

Przewijanie kodu trochę szybko, może to być coś;

https://github.com/chrisbanes/Android-PullToRefresh/blob/master/library/src/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java

chociaż nie jestem pewien, czy to jest rzeczywiście, że strzałka, ponieważ nie wykazują żadnych wskazówek w tej klasie o byciu wersja oparte.

+0

Dziękujemy! To było to! Zaczynając od tego, musiałem przejść przez trochę innych klas, aby znaleźć, gdzie decyduje, czy wskaźnik powinien być pokazywany, czy nie i ustawić, aby zawsze zwracać fałsz. – aveschini

+0

Dobrze :) Zamiast tego można go oddzielić na ładną metodę i ustawić jako ustawienie. Być może Chris Banes może zaakceptować to jako zmianę, a inni też mogą się nią cieszyć;) –

+0

Czy ktoś wie, jak wyświetlić wskaźnik, nawet jeśli wyświetlany jest pusty tekst, gdy lista jest pusta? – Maxrunner

2

Szybkie i brudne - Po prostu zastąp plik obrazu wskazówką strzałki przezroczystym obrazem w folderze res biblioteki.