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

AsyncTask в Fragment и viewPager - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Ввод данных в поле с наэкранных собственных кнопок http://www.cyberforum.ru/android-dev/thread1571128.html
Добрый день. Делаю свою первую программу на Андроид и возникла проблема. Вот у меня пол-экрана занимают кнопки с цифрами и математическими символами. Как сделать так, чтобы по нажатии на свободную область экрана текст начал там вводится по нажатии на кнопки на экране? Поле текста Number(Decimal) меня не устраивает, так как там, насколько я понял, можно только с клавиатуры данные вводить. Также...
Android Исполнение скрипта в android приложении Как реализовать работу приложения с внешним сценарием, например: при событии приложение загружает текстовый файл со скриптом. В скрипте описано что делать при этом событии. В скрипт передается переменная - код события (int). В зависимости от её значения и других переменных из скрипта вызываются предопределенные в Java коде функции с переданными параметрами. В скрипте используются статические... http://www.cyberforum.ru/android-dev/thread1571127.html
Изменение Activity из ViewPager Android
Добрый день! Есть viewPager, который принимает на вход 3 фрагментов и работает с ними. Активики, в которой расположен viewPager, есть текстовое поле. Хотела сделать так. чтобы при смене фрагмента в viewPager изменялся текст в активити. Второй текстовый элемент не изменяется. просто показывает сколько есть страниц. Но не получается так сделать. Пробовала получать активити из фрагмента,...
Android Прозрачное меню
На первых двух скриншотах видно обычное меню. На третьем и четвертом в моем приложении. И ладно, хрен с ним, с цветом, оно прозрачное! То есть все view, которые находятся под ним видно (4-й скрин, видно кнопки). Гугл дал только ссылки на смену цвета меню, мне же без разницы какого оно цвета, только бы не прозрачное, ибо тогда оно не выделяется. Код меню наипростейший <?xml version="1.0"...
Android Полный перечень требований к ПО публикуемому на Google Play http://www.cyberforum.ru/android-dev/thread1570928.html
Доброго времени суток! Никто не может поделиться ссылочкой на полный перечень требований к ПО (играм) которые можно публиковать на Google Play? Задумал тут игрушку одну, хочется проверить ее на соответствие требованиям. Вот тут: https://support.google.com/googleplay/?hl=ru#topic=3364260 я был, но это, как я понимаю, больше актуально для тех кто скачивает, а не публикует ПО на плеймаркете. Всем...
Android Espresso Здравствуйте! Я использую espresso для тестирования мобильных приложений. Когда я тестирую класс с Activity, то тесты проходят нормально, а когда тестирую с AppCompatActivity, появляется ошибка на уровне @Rule. @RunWith(AndroidJUnit4.class) @LargeTest public class MainActivityTest{ @Rule public ActivityTestRule<MainActivity> mActivityRule = new... подробнее

Показать сообщение отдельно
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128

AsyncTask в Fragment и viewPager - Android

04.11.2015, 16:04. Просмотров 349. Ответов 1
Метки (Все метки)

У меня есть ViewPager который состоит из двух листающихся экранов,
есть код фрагмента который запускается в этом viewPager (как правильно сказать я не знаю). В разметке этого фрагмента есть ListView. В этот ListView должна появлятся информация загруженная из интернета с помощью AsyncTask . Но информация эта не появляется в ListView и как я понял потому что в методе onCreateView View элемент выводится раньше чем загружаются данные и потом уже они не меняются .. Как можно это исправить ? ..
Код фрагмента
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
128
129
130
package com.wall_call.wallpaperset.fragments;
 
/**
 * Created by Egor on 03.11.2015.
 */
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
 
import android.app.Activity;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TextView;
 
import com.wall_call.wallpaperset.Constat;
import com.wall_call.wallpaperset.Mapers.AutoMaper;
import com.wall_call.wallpaperset.R;
import com.wall_call.wallpaperset.adapters.EventListAdapter;
import com.wall_call.wallpaperset.helper.Requester;
import com.wall_call.wallpaperset.models.ListEventModel;
 
public class PageFragment extends Fragment {
 
    static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
    List<ListEventModel> itemsEvents;
    EventListAdapter eventAdapte;
    int pageNumber;
    int backColor;
 
    public static PageFragment newInstance(int page) {
        PageFragment pageFragment = new PageFragment();
        Bundle arguments = new Bundle();
        arguments.putInt(ARGUMENT_PAGE_NUMBER, page);
        pageFragment.setArguments(arguments);
        return pageFragment;
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);
        setRetainInstance(true);
        startAsyncTask();
    }
 
    private void startAsyncTask() {
        new ListEventsAsync(this).execute();
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment1, null);
 
        TextView tvPage = (TextView) view.findViewById(R.id.textWithFragment);
        tvPage.setText("Старинчка " + pageNumber);
        //tvPage.setBackgroundColor(backColor);
 
       // ListView eventList = (ListView) view.findViewById(R.id.list_events);
 
       /* List<ListEventModel> newItemsEvent = new ArrayList<ListEventModel>();
        ListEventModel newModel = new ListEventModel();
        ListEventModel newModel2 = new ListEventModel();
        newModel.setFullName("Egor1");
        newModel2.setFullName("Egor2");
        newItemsEvent.add(newModel);
        newItemsEvent.add(newModel2);
        eventAdapte = new EventListAdapter(getActivity(),newItemsEvent);
        eventList.setAdapter(eventAdapte);*/
 
        //new ListEventsAsync(eventList).execute();
 
        return view;
    }
 
    public class ListEventsAsync extends AsyncTask<Void, Void, List<ListEventModel>> {
        ListView listViewEvent;
        PageFragment fragm;
        ListEventsAsync(PageFragment fr){
            //this.listViewEvent = eventList;
            this.fragm = fr;
        }
        @Override
        protected List<ListEventModel> doInBackground(Void... params) {
            /*sPref = getSharedPreferences("MyAouth",0);
            String userId = sPref.getString("userId", "");
            String userPass = sPref.getString("userPass", "");*/
 
 
            /*ChatService chatService = new ChatService();
            //List<ChatModel> chats = chatService.getAllChats(userId, userPass);
            chatDialogs = chatService.getAllChats(userId, userPass);*/
            Log.d("MYLOG", "start send POST");
            String resultPOST = Requester.sendPost(Constat.URL_MY_PAGE_SEND, "UserId=1"); // Добавить данных потом
            Log.d("MyLog",resultPOST);
            itemsEvents = AutoMaper.itemsEventMaper(resultPOST);
            Log.d("MYLOG", "END send POST");
 
            return itemsEvents;
        }
 
        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
 
        }
 
        @Override
        protected void onPostExecute(final List<ListEventModel> result) {
            super.onPostExecute(result);
            eventAdapte = new EventListAdapter(getActivity(),result);
            Log.d("MYLOG", "set ADAPTER");
 
            fragm.setItemsListView(eventAdapte);
        }
    }
 
    private void setItemsListView(EventListAdapter adapterEvent){
        final Activity activity = getActivity();
        ListView listItemP =(ListView) activity.findViewById(R.id.list_events);
        listItemP.setAdapter(adapterEvent);
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru