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

Ссылка на фрагмент - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android MaterialDrawer для eclipse http://www.cyberforum.ru/android-dev/thread1554647.html
Как правильно подключить MaterialDrawer библиотеку на эклипс? Через импорт разбивает на два не связанных проекта.
Android SQLiteDatabase, составление запроса для сортировки типа дерево здравствуйте, есть ListView который выгружает из базы позиции. как сделать так чтобы после каждого нажатия на позицию формировался(добавлялся) запрос для поиска значений? например есть база дома в котором указан подьезд, этаж, номер квартиры. нужно сделать так чтобы пользователь выбрал подьезд, из базы достались этажы, а уже по нажатию этажа, появлялся список квартир в этом подьезде на... http://www.cyberforum.ru/android-dev/thread1554644.html
Скопировать view Android
Привет. Как скопировать view(любой компонент от view) с одного layuot на другой без удаления, тоесть хочу создать клона только сменив ему id и расположение на экране, а всё остальное оставить от исходного, например scr у imageView? Спасибо.
Android Отображение полного наименования функции или аттрибута в Class Diagram
как в Android Studio сделать,чтобы полностью отображалось наименование функции или аттрибута в Class Diagram?
Android Action Bar в Activity для навигации по фрагментам в TabHost-е http://www.cyberforum.ru/android-dev/thread1554497.html
Здравствуйте. Есть главная Activity наследуемая от TabHost. Использую TabHost специально, чтобы вкладки не свайпились, т.к. на одной из вкладок будет график, который возможно масштабировать и двигать для подробного рассмотрения, а это может вызвать конфликт жестов, если табы будут свайпиться. В одной из вкладок есть Activity, весь объем которой занимает фрагмент-контейнер (фрагменты при коммите,...
Android Вид DatePickerDialog Всем привет! Столкнулся с необходимостью при нажатии кнопки выводить DatePickerDialog, как в документации: Но при выводе DatePickerDialog, в эмуляторе показывается следующий вид: Объясните, пожалуйста, что мне нужно сделать,чтоб вид диалога был как в документации? подробнее

Показать сообщение отдельно
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 836

Ссылка на фрагмент - Android

17.10.2015, 19:01. Просмотров 177. Ответов 0
Метки (Все метки)

В уроке 106 проекта startandroid.ru написано, что
На всякий случай проговорю одну вещь из разряда «Спасибо кэп!». Если посмотреть на код MainActivity, то можно заметить, что работая с frag2 в методе onCreate и с frag2 в методе onClick мы работаем с текущим фрагментом Fragment2. Это так и есть. Оба frag2 в итоге будут ссылаться на один объект. Так что, если вы динамически добавили фрагмент, то у вас уже есть ссылка на него, и искать его через findFragmentById вам уже не надо.
Звучит логично, вот код MainActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment frag2 = new Fragment2();
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.add(R.id.fragment2, frag2);
        ft.commit();
    }
 
    public void onClick(View v) {
        Fragment frag2 = getFragmentManager().findFragmentById(R.id.fragment2);
        ((TextView) frag2.getView().findViewById(R.id.textView))
                .setText("Access to Fragment2 from Activiry");
    }
Я решил данное утверждение проверить-изменил код так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class MainActivity extends AppCompatActivity {
    Fragment frag2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment frag2 = new Fragment2();
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.add(R.id.fragment2, frag2);
        ft.commit();
    }
 
    public void onClick(View v) {
        Fragment frag1 = getFragmentManager().findFragmentById(R.id.fragment1);
        ((TextView) frag1.getView().findViewById(R.id.textView))
                .setText("Access to Fragment1 from Activiry");
 
       // Fragment frag2 = getFragmentManager().findFragmentById(R.id.fragment2);
        ((TextView) frag2.getView().findViewById(R.id.textView))
                .setText("Access to Fragment2 from Activiry");
    }
Т.е. я объявил глобальную переменную frag2, и теперь хочу обратиться к фрагменту без поиска(закомментированная строка), как пишет автор,
Так что, если вы динамически добавили фрагмент, то у вас уже есть ссылка на него, и искать его через findFragmentById вам уже не надо.
Но приложение вылетает. Помогите пожалуйста, может я где-то ошибся?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru