powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Не работает onScroll во фрагменте
10 сообщений из 10, страница 1 из 1
Не работает onScroll во фрагменте
    #38908835
Витяй1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Пишу галерею, пытаюсь подгружать новые картинки при прокручивании галереи, но не хочет вызываться метод onScroll
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
public class FotoActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_filter);

        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new FotoFragment())
                    .commit();
        }
    }


    public static class FotoFragment extends AbsListViewBaseFragment implements AbsListView.OnScrollListener {

        private static final String CLIENT_ID = "7f38ead5152e46f1a42284c2d84b0862";
        private static final String API_REQUEST = "cat";
        private static final String API_URL = "https://api.instagram.com/v1";

        static String downloadJsonUrl = API_URL + "/tags/" + API_REQUEST + "/media/recent?client_id=" + CLIENT_ID;

        private ImageAdapter picAdapter;

        ArrayList<String> picUrls = new ArrayList<String>();

        GetImages getInstagramImages;

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

            picAdapter = new ImageAdapter();

            getInstagramImages = new GetImages();
            getInstagramImages.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fr_image_grid, container, false);
            listView = (GridView) rootView.findViewById(R.id.grid);
            ((GridView) listView).setAdapter(picAdapter);
            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                }
            });

            listView.setOnScrollListener(this);

            return rootView;
        }

        @Override
        public void onScrollStateChanged(AbsListView absListView, int i) {

        }

        @Override
        public void onScroll(AbsListView absListView, int firstVisible, int visibleCount, int totalCount) {
            boolean loadMore = firstVisible + visibleCount >= totalCount;

            if (loadMore == true && getInstagramImages.getStatus() == AsyncTask.Status.FINISHED) {
                getInstagramImages = new GetImages();
                getInstagramImages.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
            }
        }


        protected class GetImages extends AsyncTask<Void, Void, ArrayList> {

            @Override
            protected ArrayList doInBackground(Void... voids) {
                try {
                    picUrls = parseJson();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                return picUrls;
            }

            @Override
            protected void onPostExecute(ArrayList result) {
                super.onPostExecute(result);
                picAdapter.notifyDataSetChanged();
            }
        }


        private InputStream downloadJSON(String stringUrl) throws IOException {
            URL url = new URL(stringUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setDoInput(true);
            connection.connect();
            return connection.getInputStream();
        }


        private ArrayList parseJson() throws IOException, JSONException {
            InputStream inputStream = downloadJSON(downloadJsonUrl);
            JSONObject jsonObject = (JSONObject) new JSONTokener(responseJSON).nextValue();
            JSONArray jsonArray = jsonObject.getJSONArray("data");
            for(int i = 0; i < jsonArray.length(); i ++){
                JSONObject imageJsonObject = jsonArray.getJSONObject(i).getJSONObject("images").getJSONObject("standard_resolution");
                picUrls.add(imageJsonObject.getString("url"));
            }
            downloadJsonUrl = jsonObject.getJSONObject("pagination").getString("next_url");

            return picUrls;
        }

}



Почему он не работает? Он срабатывает только один раз при загрузке фрагмента, когда список не прокручивается
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38908955
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не страдай херней друже. ключевые слова recyclerview, two-way view, picasso. когда этого счастья не было, gridview + picasso. ну на крайняк можешь сам картинки грузить, но самому какой-то onscroll во фрагменте обрабатывать, это отвал башки.
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38909047
Витяй1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaне страдай херней друже. ключевые слова recyclerview, two-way view, picasso. когда этого счастья не было, gridview + picasso. ну на крайняк можешь сам картинки грузить, но самому какой-то onscroll во фрагменте обрабатывать, это отвал башки.
не страдаю, получаю фотки из инстаграма, а их api только первые 20 возвращает и чтобы получить еще 20, нужно сделать еще запрос, а запрос логично сделать когда пользователь докручивает фрагмент до конца
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38909351
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витяй1991не страдаю, получаю фотки из инстаграма, а их api только первые 20 возвращает и чтобы получить еще 20, нужно сделать еще запрос, а запрос логично сделать когда пользователь докручивает фрагмент до конца

и что, с recyclerview + gridlayout этого уже нельзя сделать ?
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38910120
Витяй1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжибсВитяй1991не страдаю, получаю фотки из инстаграма, а их api только первые 20 возвращает и чтобы получить еще 20, нужно сделать еще запрос, а запрос логично сделать когда пользователь докручивает фрагмент до конца

и что, с recyclerview + gridlayout этого уже нельзя сделать ?
я использую gridview и universal image loader, изображения подгружаются по мере прокрутки, но у меня всего 20 изображений и больше 20-ти загрузиться не могут, т.к. в списке только 20 ссылок, а нужно загрузить еще 20 и чтобы понять что их нужно загружать, мне как раз и нужно обработать scroll listener, тогда в список добавится еще 20 ссылок и изображения будут грузится дальше
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38910224
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витяй1991
уже третий пост, но нифига не понятно. сделаю предположение: тебе заранее неизвестно кол-во картинок так? и когда ты доходишь до конца списка ты проверяешь, есть ли еще, и если да, добавляешь их к текущим. так?
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38910539
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витяй1991я использую gridview и universal image loader, изображения подгружаются по мере прокрутки, но у меня всего 20 изображений и больше 20-ти загрузиться не могут, т.к. в списке только 20 ссылок, а нужно загрузить еще 20 и чтобы понять что их нужно загружать, мне как раз и нужно обработать scroll listener, тогда в список добавится еще 20 ссылок и изображения будут грузится дальше

и что ?
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38913201
Витяй1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaВитяй1991
уже третий пост, но нифига не понятно. сделаю предположение: тебе заранее неизвестно кол-во картинок так? и когда ты доходишь до конца списка ты проверяешь, есть ли еще, и если да, добавляешь их к текущим. так?
да! но я уже разобрался со всем, код рабочий, а не работала прокрутка по другой причине
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38913206
Витяй1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжибсВитяй1991я использую gridview и universal image loader, изображения подгружаются по мере прокрутки, но у меня всего 20 изображений и больше 20-ти загрузиться не могут, т.к. в списке только 20 ссылок, а нужно загрузить еще 20 и чтобы понять что их нужно загружать, мне как раз и нужно обработать scroll listener, тогда в список добавится еще 20 ссылок и изображения будут грузится дальше

и что ?
в onScroll нужно обработать дальнейшую загрузку картинок
...
Рейтинг: 0 / 0
Не работает onScroll во фрагменте
    #38913645
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витяй1991Джибспропущено...


и что ?
в onScroll нужно обработать дальнейшую загрузку картинок

ну та для этого просто уже готовые есть механизмы/виджеты.

зачем изобретать велосипед
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Не работает onScroll во фрагменте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]