ЛУЧШИЙ ОТВЕТ....

овившись Android Market, я реализовал бесконечный список, который загружает больше данных с сервера, когда мы достигаем конца списка.

Теперь мне нужно реализовать индикатор выполнения и текст «Загрузка ..», как показано

Образец кода, на который можно черпать вдохновение, был бы великолепен.

 user405006530 янв. 2015 г., 05:15
Я застрял в том же может кто-нибудь помочь ..stackoverflow.com/questions/28122304/...

Ответы на вопрос(2)

которое также облегчает отображение представления загрузки в конце ListView во время его загрузки.

Вы можете увидеть классы здесь:

https://github.com/CyberEagle/OpenProjects/blob/master/android-projects/widgets/src/main/java/br/com/cybereagle/androidwidgets/helper/ListViewWithLoadingIndicatorHelper.java - Помощник, чтобы сделать возможным использование функций без расширения от SimpleListViewWithLoadingIndicator.

https://github.com/CyberEagle/OpenProjects/blob/master/android-projects/widgets/src/main/java/br/com/cybereagle/androidwidgets/listener/EndlessScrollListener.java - Слушатель, который начинает загрузку данных, когда пользователь собирается достичь нижней части ListView.

https://github.com/CyberEagle/OpenProjects/blob/master/android-projects/widgets/src/main/java/br/com/cybereagle/androidwidgets/view/SimpleListViewWithLoadingIndicator.java - EndlessListView. Вы можете использовать этот класс напрямую или расширять его.

 Mehul Joisar10 апр. 2014 г., 08:34
Можете ли вы добавить пример того, как его использовать?
 user405006530 янв. 2015 г., 05:16

ДобавитьonScrollListener в ListView. Когда пользователь прокручивает, проверьте, приближается ли ListView к концу. Если да, то получите больше данных. В качестве примера :

public abstract class LazyLoader implements AbsListView.OnScrollListener {

    private static final int DEFAULT_THRESHOLD = 10 ;

    private boolean loading = true  ;
    private int previousTotal = 0 ;
    private int threshold = DEFAULT_THRESHOLD ;

    public LazyLoader() {}

    public LazyLoader(int threshold) {
        this.threshold = threshold;
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
                         int visibleItemCount, int totalItemCount) {
        if(loading) {
            if(totalItemCount > previousTotal) {
                // the loading has finished
                loading = false ;
                previousTotal = totalItemCount ;
            }
        }

        // check if the List needs more data
        if(!loading && ((firstVisibleItem + visibleItemCount ) >= (totalItemCount - threshold))) {
            loading = true ;

            // List needs more data. Go fetch !!
            loadMore(view, firstVisibleItem,
                    visibleItemCount, totalItemCount);
        }
    }

    // Called when the user is nearing the end of the ListView
    // and the ListView is ready to add more items.
    public abstract void loadMore(AbsListView view, int firstVisibleItem,
                                  int visibleItemCount, int totalItemCount);
}

Деятельность :

public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.main_layout);
            ListView listView = (ListView) findViewById(R.id.listView);

            listView.setOnScrollListener(new LazyLoader() {
                @Override
                public void loadMore(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                    // Fetch your data here !!!
                }
            });
        }
    }

Вы можете найти полную реализациюпо этой ссылке

 Jim10 мар. 2019 г., 11:19
ЛУЧШИЙ ОТВЕТ....

Ваш ответ на вопрос