Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Radzhab
12 / 12 / 0
Регистрация: 18.06.2011
Сообщений: 411
#1

Как передать данные в определенный инстанс класса? - Программирование Android

27.06.2015, 11:10. Просмотров 245. Ответов 1
Метки нет (Все метки)

Проект который я использую https://github.com/chrisbanes/cheesesquare.
Я создаю четыре экземпляра класса CheeseListFragment. Я не могу понять, как получить доступ к конкретно третьему экземпляру класса и передать данные? В частности, в третьем


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
public class MainActivity extends AppCompatActivity implements CheeseListFragment.OnDataPass {
     Adapter adapter;
 
...
      adapter = new Adapter(getSupportFragmentManager());
 
            for (int i=0; i<4; i++){
                adapter.addFragment(new CheeseListFragment(), items[i]);
            }
...
 
 viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }
 
            @Override
            public void onPageSelected(int position) {
                onDataPass(String.valueOf(position)); // Хочу отправить данные в третий инстанс CheeseListFragment 
 
 
 
 
 
     static class Adapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragments = new ArrayList<>();
        private final List<String> mFragmentTitles = new ArrayList<>();
 
 
 
        public Adapter(FragmentManager fm) {
            super(fm);
        }
 
        public void addFragment(Fragment fragment, String title) {
            mFragments.add(fragment);
            mFragmentTitles.add(title);
        }
 
        @Override
        public Fragment getItem(int position) {
 
 
            return mFragments.get(position);
        }
 
        @Override
        public int getCount() {
            return mFragments.size();
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitles.get(position);
        }
    }
}
 
 
 
 
public class CheeseListFragment extends Fragment {
 
    List<News> lnews;
    private RecyclerViewAdapter mRecyclerviewAdapter;
    OnDataPass dataPasser;
 
...
    protected String[] mDataset;
 
 
 
    public interface OnDataPass {
        public void onDataPass(String data);
    }
 
    @Override
    public void onAttach(Activity a) {
        super.onAttach(a);
        dataPasser = (OnDataPass) a;
 
    }
    public void passData(String data) 
        dataPasser.onDataPass(data);
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2015, 11:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как передать данные в определенный инстанс класса? (Программирование Android):

Как передать данные в Activity из другого класса - Программирование Android
При нажатии на кнопку, создается активити orgAdapter = new OrgAdapter(this, orgs); GridView gridView = (GridView)...

Как передать параметры из одного класса в другой? - Программирование Android
Есть класс Phase, в нем метод: public static double phase(double pdate, RefDouble pphaseR, RefDouble mageR, RefDouble distR,...

Как передать данные в EditText - Программирование Android
Есть активность из которой необходимо передать данные в активити планировщика таким образом чтобы они оказались в поле EditText (строка...

Как передать данные в thread? - Программирование Android
Доброго всем дня) Прошу совета. Есть активити. Она запускает сервис,в котором стартует поток, опрашивающий удаленный сервер по заранее...

Как поучить/передать данные в/из BroadcastReceiver ? - Программирование Android
Например, есть BroadcastReceiver и есть Сервис. BroadcastReceiver получает различные ресиверы от системы (типа...

Как передать intent данные в Service? - Программирование Android
Здравствуйте! как передать intent данные в класс с расширением Service? Стандартным способом кажется не получится передать через putextra...

1
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
27.06.2015, 13:37 #2
Radzhab, лучше так не делать т.к. этого фрагмента, который вы ищете, на данный момент может не быть вообще. Просто сохраните данные для него где нибудь и при запуске этого фрагмента прочитайте их.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2015, 13:37
Привет! Вот еще темы с ответами:

Как передать данные из Fragments в DialogFragment - Программирование Android
Пробовал с помощью Intent , Bundle , но не получалось (либо руки кривые) . Поможете?

Есть класс унаследованный от View - как туда передать данные? - Программирование Android
getIntent() не работает.

Как передать в функцию название массива в который будут грузиться данные из файла? - Программирование Android
Шесть файлов с данными, нужно загрузить каждый в отдельный массив. Вызываю функцию, указываю из какого файла в какой массив загрузить. ...

Как парсить конкретные данные из общего класса? - Программирование Android
Здравствуйте!Я использую библиотеку jsoup для парсинга html страниц сайтов. Например если мне нужно получить значение из класса...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.