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

Программное добавление View элементов в Fragment - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android 2D графика в Android Studio http://www.cyberforum.ru/android-dev/thread1619770.html
Я только начал увлекаться андроидом, даже не знаю, про Android Studio или нет идёт речь в форуме "Программирование Android". Создал свой первый проект, с кнопочками и прочими стандартными элементами...
Программирование Android OAuth 2.0 Callback URL Здравствуйте! Пытаюсь написать клиент к одному веб-сервису и там в настройка OAuth 2.0 требуется указать Callback URL, раньше не работал с этой схемой аутентификации. Как я понял, это URL для... http://www.cyberforum.ru/android-dev/thread1619604.html
Программирование Android Неверное отображение ViewPager
Здравствуйте. Решил посмотреть и поиграться с библиотекой: https://github.com/florent37/MaterialViewPager, но когда запускаю приложение layout отображается на телефоне не так как надо, а в студий...
Программирование Android Выдает ошибку: "Cannot launch AVD in emulator"
Пыталась поставить avd, но выдало такую ошибку, что делать?
Программирование Android Калькулятор http://www.cyberforum.ru/android-dev/thread1618795.html
делаю калькулятор на основе чужого, появились такие проблемы: 1. не работает с отрицательными числами 2. не работает операция сложения 3. как убрать лишние нули после запятой? часть кода...
Программирование Android Копирование текста во время касание Как сделать так чтобы по нажатию на текста, текст копировался в буфер обмена?(на Android Studio) подробнее

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

Программное добавление View элементов в Fragment - Программирование Android

20.12.2015, 18:14. Просмотров 537. Ответов 7
Метки (Все метки)

Здравствуйте. Проблема такая: в приложении есть 2 вкладки. Переключение между ними реализуются через ViewPager и FragmentStatePagerAdapter. В 1 вкладке View элементы заданы статически через xml. Но при программном добавлении ImageView во второй fragment картинка отображается в основной активити поверх всех вкладок. В чем причина?
Код таб адаптера:
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
public class TabAdapter extends FragmentStatePagerAdapter {
    private int numberOfTabs;
    public TabAdapter(FragmentManager fm, int numberOfTabs) {
        super(fm);
        this.numberOfTabs=numberOfTabs;
    }
 
 
 
    @Override
    public Fragment getItem(int i) {
        switch (i){
            case 0:
                return new tab1();
            case 1:
                return new tab2();
            default:
                return null;
        }
 
    }
 
    @Override
    public int getCount() {
        return numberOfTabs;
    }
}
Код второго фрагмента:
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
public class News extends Fragment {
 
 
 
    public tab2() {
        // Required empty public constructor
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_news, container, false);
        final ImageView kart1 = new ImageView(inflater.getContext());
        float density = getActivity().getApplicationContext().getResources().getDisplayMetrics().density;
        Thread t = new Thread() {
            @Override
            public void run() {
                try {
                    final Bitmap bitmap = BitmapFactory.decodeStream(new URL("//адрес изображения").openStream());
                    kart1.post(new Runnable() {
                        @Override
                        public void run() {
                            kart1.setImageBitmap(bitmap);
                        }
                    });
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
 
            ;
        };
        t.start();
 
        ViewGroup.LayoutParams pal = new RelativeLayout.LayoutParams(200, 200);
        if(kart1.getParent()!=null)
            ((ViewGroup) kart1.getParent()).removeView(kart1);
        kart1.setLayoutParams(pal);
        kart1.setX(500);
        kart1.setY(500);
        getActivity().addContentView(kart1, pal);
        return v;
    }
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru