Форум программистов, компьютерный форум CyberForum.ru

Как предотвратить множественную загрузку onCreateView в фрагменте - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Приложение работает не со всеми версиями на Genymotion http://www.cyberforum.ru/android-dev/thread1455010.html
Коллеги, помогите. Не могу понять, просмотрел уже все темы, почему приложение запускается не со всеми версиями. Даже есть такое как на Nexus 4 4.4.4 API 19 не запускается а на Nexus 5 4.4.4 API 19 запускается. С чего начинать копать (это мое первое приложение). Добавлено через 1 минуту Забыл сказать, что первый layuot запускается всегда, а второй от кнопки с первого нет.
Android Не получается создать запрос Volley в фрагменте 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; http://www.cyberforum.ru/android-dev/thread1454999.html
Вызов нестатического метода из другого класса Android
Здравствуйте. Подскажите, как можно вызвать нестатистический метод из другого класса. 1.Этот другой класс нельзя наследовать тем классом, он уже унаследован от другого. 2.Манипуляции с контекстом не хочу использовать. 3.Через экземпляр класса вылетает ошибка. Какие есть варианты? Добавлено через 8 минут И я заметил, что статистические методы, не очень любят использовать. Почему?
Volley делает повторные запросы Android
Скажите пожалуйста, установил библиотеку Volley. Сделал запрос, который принимает настройки. Все это висит в onCreate. Так вот когда я меню ориентацию телефона запрос снова происходит, подскажите как запретить делать это данной библиотеке.
Android Изменить ListView http://www.cyberforum.ru/android-dev/thread1454856.html
Есть ListView, которые задается при запуске приложения Далее у меня создает запрос к серверу и получаю данные. Скажите как мне теперь изменить некоторые значения в listView package ru.animalface.app.adapter; import ru.animalface.app.R; import ru.animalface.app.model.NavDrawerItem;
Android BackupAgent для записи и восстановления базы данных Здравствуйте! Нахожусь в ступоре уже второй день. Необходимо создать класс BackupAgentHelper, чтобы резервировать базу данных и восстановить ее при переустановки приложение на устройство. Кто-нибудь сталкивался с подобной проблемой? Какие методы прописывать в классе? Как и где ими пользоваться вне его? Как действовать дальше? @Override public void onCreate() { FileBackupHelper hosts =... подробнее

Показать сообщение отдельно
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 22:21     Как предотвратить множественную загрузку onCreateView в фрагменте
Как предотвратить множественную загрузку onCreateView в фрагменте?

Запускаю фрагмет он подгружает данные с сервера. При попороте экрана загрука идет снова.
Как это предотвратить?

Запись в манифесте : android:configChanges="orientation"

Не помогает.

Скажи как быть?
Или в какое событие надо поместить выполнение запроса, что бы он выполнился один раз при запуске фрагмента?

Добавлено через 5 минут
Может кому пригодится готовый запрос во фрагменте с помощью Volley

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
122
123
124
125
126
127
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 {
    
    private static List<News> newsList = new ArrayList<News>();
    private static ListView listView;
    private static VolleyListAdapter volleyAdapter;
 
    // Progress
    private ProgressDialog pDialog;
 
    public NewsFragment(){}
 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            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);
 
            // Load only one time when app is loading
            if (savedInstanceState == null) {
 
 
            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("http://animalface.ru/mobile/news", 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);
 
 
 
            } else {
                listView = (ListView) rootView.findViewById(R.id.list);
                volleyAdapter = new VolleyListAdapter(getActivity(), newsList);
                listView.setAdapter(volleyAdapter);
            }
            return rootView;
        }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru