Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 01.05.2012
Сообщений: 116

Не получается создать запрос Volley в фрагменте

22.05.2015, 22:09. Показов 654. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
package ru.animalface.app;
 
import android.app.Fragment;
import android.app.ProgressDialog;
import android.os.Bundle;
 
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
 
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.util.ArrayList;
import java.util.List;
 
import ru.animalface.app.adapter.VolleyListAdapter;
import ru.animalface.app.model.News;
 
public class NewsFragment extends Fragment {
 
    // Movies json url
    private static final String url = "http://animalface.ru/mobile/news";
 
    private List<News> newsList = new ArrayList<News>();
    private ListView listView;
    private VolleyListAdapter volleyAdapter;
 
    // Progress
    private ProgressDialog pDialog;
 
    public NewsFragment(){}
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
            View rootView = inflater.inflate(R.layout.fragment_news, container, false);
 
            //pDialog = ProgressDialog.show(getActivity(), null, "Загрузка данных ...", true);
 
            // пример как добраться до объекта
            // listView = (ListView) rootView.findViewById(R.id.list);
            //Log.v("My Project", "Логи");
 
            RequestQueue queue = Volley.newRequestQueue(getActivity());
 
            JsonArrayRequest newsReqest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
                        @Override
                        public void onResponse(JSONArray response) {
                            pDialog.hide();
 
                            Log.v("My Project", response.toString());
 
 
                            // Parsing json
                            for (int i = 0; i < response.length(); i++) {
                                try {
 
                                    JSONObject obj = response.getJSONObject(i);
                                    News news = new News();
                                    news.setTitle(obj.getString("title"));
                                    news.setImage(obj.getString("image"));
 
                                    news.setDate(obj.getString("datePrint"));
                                    news.setBody(obj.getString("body"));
 
 
 
 
                                    // adding movie to movies array
                                    newsList.add(news);
 
                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }
 
                            }
 
                            // notifying list adapter about data changes
                            // so that it renders the list view with updated data
                            volleyAdapter.notifyDataSetChanged();
                        }
                    }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    pDialog.hide();
                    Log.v("My Project", error.getMessage());
 
                }
            });
 
            queue.add(newsReqest);
 
            return rootView;
        }
}
Запрос рабочий, тестировал его в mainActivity поместил во фрагмент перестал работать ...
Ошибка:

java.lang.NullPointerException: Attempt to invoke virtual method 'void ru.animalface.app.adapter.VolleyListAdap ter.notifyDataSetChanged()' on a null object reference

Добавлено через 26 минут
Спасибо разобрался может кому пригодится:



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
120
121
package ru.animalface.app;
 
import android.app.Fragment;
import android.app.ProgressDialog;
import android.os.Bundle;
 
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
 
 
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.util.ArrayList;
import java.util.List;
 
import ru.animalface.app.adapter.VolleyListAdapter;
import ru.animalface.app.model.News;
 
 
public class NewsFragment extends Fragment {
 
    // Movies json url
    private static final String url = "http://animalface.ru/mobile/news";
 
    private List<News> newsList = new ArrayList<News>();
    private ListView listView;
    private VolleyListAdapter volleyAdapter;
 
    // Progress
    private ProgressDialog pDialog;
 
    public NewsFragment(){}
 
    @Override
    public void onStart() {
        super.onStart();
        Toast.makeText(getActivity(), "FirstFragment.onStart()",
                Toast.LENGTH_LONG).show();
        Log.d("Fragment 1", "onStart");
    }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
            View rootView = inflater.inflate(R.layout.fragment_news, container, false);
 
            pDialog = ProgressDialog.show(getActivity(), null, "Загрузка данных ...", true);
 
            listView = (ListView) rootView.findViewById(R.id.list);
            volleyAdapter = new VolleyListAdapter(getActivity(), newsList);
            listView.setAdapter(volleyAdapter);
 
            RequestQueue queue = Volley.newRequestQueue(getActivity());
 
 
 
            JsonArrayRequest newsReqest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
                        @Override
                        public void onResponse(JSONArray response) {
                            pDialog.hide();
 
                            Log.v("My Project", response.toString());
 
 
                            // Parsing json
                            for (int i = 0; i < response.length(); i++) {
                                try {
 
                                    JSONObject obj = response.getJSONObject(i);
                                    News news = new News();
                                    news.setTitle(obj.getString("title"));
                                    news.setImage(obj.getString("image"));
 
                                    news.setDate(obj.getString("datePrint"));
                                    news.setBody(obj.getString("body"));
 
 
 
 
                                    // adding movie to movies array
                                    newsList.add(news);
 
                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }
 
                            }
 
                            // notifying list adapter about data changes
                            // so that it renders the list view with updated data
                            volleyAdapter.notifyDataSetChanged();
                        }
                    }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    pDialog.hide();
                    Log.v("My Project", error.getMessage());
 
                }
            });
 
            // Adding request to request queue
            //ru.animalface.app.app.AppController.getInstance().addToRequestQueue(newsReq);
            queue.add(newsReqest);
 
 
            return rootView;
        }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.05.2015, 22:09
Ответы с готовыми решениями:

Вывод во втором фрагменте длины текста, введённого в первом фрагменте активити
Создать активити с двумя фрагментами. В первый фрагмент должен содержать поле ввода, второй текстовое поле. Выводить во втором фрагменте...

Не получается создать запрос
LINQ поддерживает сравнение ID в двух таблицах? Мне нужно сделать запрос типа select distinct omps.dbo.People.TabelNum from...

Не получается создать запрос
С помощью запросов &quot;Приход-расход (запрос)&quot; и &quot;Движение инвентаря (запрос)&quot; Рассчитать количество инвентаря. Я уже начал делать, но никак...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2015, 22:09
Помогаю со студенческими работами здесь

Не получается создать запрос!
Добрый день! Имеется база компаний. 1) Название компании 2) Адрес 3) Исполнительный орган (ФИО) 4) учредитель 1 (ФИО) 5)...

Не получается создать запрос
Имеется база данных «Библиотека», содержащая три таблицы: a) о книгах: код книги, код раздела, код автора, название, издательство, год...

Не получается создать запрос!!!
Возникла проблема! Не могу понять как создать запрос: самая распространенная неисправность в автомобилях указанной марки

Не получается создать запрос
Доброго времени суток! С аксес познакомился совсем недавно, поскольку в институте начались лабы по нему. У меня такое задание: ...

Не получается создать вложенный запрос
Есть такой запрос: SELECT Студент., Студент.ФИО, Дисциплина.Название, Запрос6.Сумма AS , Sum(.Ранг*Дисциплина.) AS Объем FROM Запрос6...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru