реализация нумерации страниц в Android - PullRequest
0 голосов
/ 09 февраля 2012

Привет, я работаю над приложением для Android.И я использую просмотр списка в некоторых моих действиях.

Проблема в том, что все мои просмотры списка отображаются намного длиннее, так что пользователю нужно прокрутить весь список, чтобы перейти к последнему элементу.

Я пытаюсь реализовать нумерацию страниц, например, сначала нужно отобразить только 20 элементов в списке.И в конце моего списка просмотра мне нужен заголовок, в котором есть кнопки «Далее» и «Предыдущий», и при нажатии на кнопку «Далее» список просмотра будет загружать следующие записи с 21 по 40 и так далее.

Я использую веб-сервис java rest для загрузки списка.

Может кто-нибудь дать мне хорошее предложение для решения моей проблемы .?

Ответы [ 5 ]

1 голос
/ 09 февраля 2012

Решение 1:

Вы можете загрузить все данные за один раз, если они НЕ СЛИШКОМ МНОГО, сохраните их локально, а затем вы сможете перемещаться в этих локально сохраненных данных.Определите некоторые переменные, такие как StartPoint и EndPoint, и получите нужные данные из этих сохраненных данных.Увеличивайте значения StartPoint и EndPoint с помощью PreviouButton & NextButton.

Решение 2:

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

0 голосов
/ 07 августа 2012

@ Тиджо.Ссылка на этот сайт http://www.androidhive.info/2012/03/android-listview-with-load-more-button/. У вас может быть кнопка, которая вызовет метод execute асинхронной задачи и загрузит оставшийся список для вас.

0 голосов
/ 09 февраля 2012

Я предлагаю вам загрузить данные списка в пользовательский класс Adapter, который расширяет класс BaseAdapter. Как и предложено @oriolpons, вы должны добавить представление нижнего колонтитула, и когда вы нажимаете кнопку «Далее», вызываете какой-то метод, который выбирает следующие, например, 20 строк, а затем добавляете их в объект адаптера и вызываете notifyDataSetChanged ().

Например

private OnClickListener mListener = new OnClickListener() {

    public void onClick(View v) {
        ArrayList<YourObject> al = getSomeData(int startRow, int endRow);
                    MyCustomAdapter adapter = new MyCustomAdapter();
                    for(YourObject a : al)
                       adapter.add(a);
                       getListView.setAdapter(adapter);
                       notifyDataSetChanged();
    }
};

Надеюсь, это поможет.

0 голосов
/ 09 февраля 2012

Это может быть вашим решением для длинного списка ..

Пожалуйста, перейдите по этой ссылке .

Надеюсь, это поможет

DreamCoder

0 голосов
/ 09 февраля 2012

Самое простое решение - добавить нижний колонтитул в просмотр списка.И на слушателе щелчка элемента Вы можете видеть, является ли это последней позицией (загрузить больше элементов), или нет

//add the footer before adding the adapter, else the footer will not load!

View footerView = ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.listfooter, null, false);

this.getListView().addFooterView(footerView);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...