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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Несколько Activity в одной вкладке TAB - Программирование Android

17.05.2013, 15:36. Просмотров 2119. Ответов 16
Метки нет (Все метки)

Как разместить несколько Activity в одной вкладке TAB?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 15:39     Несколько Activity в одной вкладке TAB #2
что за изврат? используйте фрагменты.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
17.05.2013, 15:47  [ТС]     Несколько Activity в одной вкладке TAB #3
Цитата Сообщение от V0v1k Посмотреть сообщение
что за изврат? используйте фрагменты.
А что активити это плохъой тон использовать? А как тогда фрагменты использовать???
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 15:54     Несколько Activity в одной вкладке TAB #4
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А что активити это плохъой тон использовать?
ну активити это не view, его в лаяут не засунуть, для этого есть фрагменты.
http://developer.android.com/guide/c...fragments.html
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
17.05.2013, 16:02  [ТС]     Несколько Activity в одной вкладке TAB #5
А вот я нашёл пример:
http://gobozov.blogspot.com/2011/06/...es-within.html
лучше так не использовать?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 16:06     Несколько Activity в одной вкладке TAB #6
This class was deprecated in API level 13.
Use the new Fragment and FragmentManager APIs instead; these are also available on older platforms through the Android compatibility package.

Добавлено через 1 минуту
в общем, плохон тон
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
17.05.2013, 19:05  [ТС]     Несколько Activity в одной вкладке TAB #7
может подскажите пример по тому что мне нужно, а то поискав инaу о фрагментам о том что мне сделать нужно не приводиться в примерах. А самому реализовать от прочитанной информации затруднительно.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
17.05.2013, 20:58     Несколько Activity в одной вкладке TAB #8
тоже только что разбирался с ними. у меня так сделано

Registration_Activity основная
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
public class Registration_Activity extends FragmentActivity {
    PagerAdapter pagerAdapter;
    public ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.registration_activity);     
        
        mViewPager = (ViewPager) findViewById(R.id.pager);      
        TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
        mViewPager.setAdapter(titleAdapter);
        mViewPager.setCurrentItem(0);
       
    }
    
    public class TitleAdapter extends FragmentPagerAdapter {        
        private final Fragment frags[] = new Fragment[3];    
        public TitleAdapter(FragmentManager fm) {
            super(fm);
            
            frags[0] = new Registration_Fragment1();
            frags[1] = new Registration_Fragment2();
            frags[2] = new Registration_Fragment3();
        }
     
        @Override
        public Fragment getItem(int position) {
            return frags[position];
        }
     
        @Override
        public int getCount() {
            return frags.length;
        }
    }
 
        
    }
    
 
}
и фрагменты
Registration_Fragment1
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
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.text.method.NumberKeyListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
 
public class Registration_Fragment1 extends Fragment {  
    
    
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {      
        
        
        View myView = inflater.inflate(R.layout.registration_screen_1, container, false);   
 
     
        return myView;
    }
    
 
    
}
остальные фрагменты выглядят так же

разметка к основному файлу
Registration_Activity.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <RelativeLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical" 
       android:gravity="center"  >
       
      <android.support.v4.view.ViewPager
          android:id="@+id/pager"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:gravity="center"
          android:background="@drawable/enter_screen_bg"  >
 
     </android.support.v4.view.ViewPager>
</RelativeLayout>
разметка фрагментов
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="@string/app_name" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="333333" />
 
</ScrollView>
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
17.05.2013, 21:17  [ТС]     Несколько Activity в одной вкладке TAB #9
Цитата Сообщение от spydark91 Посмотреть сообщение
тоже только что разбирался с ними. у меня так сделано
Спасибо огромное Вам! А скажите вы тоже используете Tab и одна из вкладок это Registration_Activity и на фоне неё запускаются Registration_Fragment1 и Registration_Fragment2 ? Да так?

и ещё. Я просто ещё код Ваш не пробовал. Просто просмотрел и не разобрался во всём. У Вас так:
т.е. открывается Активити на ней нажимаем кнопку и попадаем во фрагмент1, а во фрагменте1 нажимаем кнопку и попадаем в новый фрагмент2. У вас такая логика??
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
17.05.2013, 21:31     Несколько Activity в одной вкладке TAB #10
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А скажите вы тоже используете Tab и одна из вкладок это Registration_Activity и на фоне неё запускаются Registration_Fragment1 и Registration_Fragment2
разметка Registration_Activity содержит ровно то, что я привел постом выше
на сколько я сам понял, класс Registration_Activity - это что то типо контейнера для фрагментов,соответственно разметка - тоже контейнер
в классе Registration_Activity создаем фрагменты
а в классах самих фрагментах настраиваем их и пишем код,который нужен конкретно для этого экрана

Цитата Сообщение от Stylish2013 Посмотреть сообщение
т.е. открывается Активити на ней нажимаем кнопку и попадаем во фрагмент1, а во фрагменте1 нажимаем кнопку и попадаем в новый фрагмент2. У вас такая логика??
да, только не кнопка,а пальцем
но кнопкой тоже можно
правда как перелистывание пальцем отменить я не знаю

Добавлено через 30 секунд
а в xml фрагментов пишем их разметку и тд
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
18.05.2013, 02:43  [ТС]     Несколько Activity в одной вкладке TAB #11
spydark91, Спасибо Вам за разъяснение. Буду обязательно пробовать, вы мне помогли. И как только так сразу сообщу результат моих трудов)

Добавлено через 5 часов 3 минуты
Цитата Сообщение от spydark91 Посмотреть сообщение
mViewPager = (ViewPager) findViewById(R.id.pager);
spydark91, а вы используете ViewPager я смотрю. А если у меня используется TabActivity можно как-то обойтись без ViewPage или как вообще это использовать.

вот кусочек кода TabActivity:

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
Resources res = getResources();
        TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
        Intent intent;
 
intent = new Intent().setClass(this, Activity1.class);
        spec = tabHost.newTabSpec("tab1")
                .setIndicator("Новости", res.getDrawable(R.drawable.ico_n))
                .setContent(intent);
        tabHost.addTab(spec);
 
        intent = new Intent().setClass(this, Activity2.class);
        spec = tabHost.newTabSpec("tab2")
                .setIndicator("Новости2", res.getDrawable(R.drawable.ico_c))
                .setContent(intent);
        tabHost.addTab(spec);
 
        intent = new Intent().setClass(this, Activity3.class);
        spec = tabHost.newTabSpec("tab3")
                .setIndicator("Новости 3", res.getDrawable(R.drawable.ico_p))
                .setContent(intent);
        tabHost.addTab(spec);
        
        // пробегает циклом и изменяет размер шрифта
        final TabWidget tabWidget = getTabWidget();
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
        final ViewGroup tab = (ViewGroup) tabWidget.getChildAt(i);
        final TextView tabTextView = (TextView) tab.getChildAt(1); // Magic number
        tabTextView.setTextSize(10);
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
18.05.2013, 13:05     Несколько Activity в одной вкладке TAB #12
TabHost и ViewPager абсолютно разные вещи...вроде бы
TabHost - вкладки на 1 экране
ViewPager - вкладки вида 1 вкладка - 1 экран

Добавлено через 1 минуту
если надо чтоб вкладка была на отдельном экране, то придется вкладки разносить по разным фрагментам и разметкам
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 18:48     Несколько Activity в одной вкладке TAB #13
Цитата Сообщение от spydark91 Посмотреть сообщение
TabHost - вкладки на 1 экране
ViewPager - вкладки вида 1 вкладка - 1 экран
не знаю что вы хотели этим сказать, но визуально я не вижу разницы.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
19.05.2013, 19:59     Несколько Activity в одной вкладке TAB #14
небольшая есть
TabHost = http://startandroid.ru/ru/uroki/vse-...-obschij-obzor
ViewPager = http://startandroid.ru/ru/uroki/vse-...viewpager.html
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 20:07     Несколько Activity в одной вкладке TAB #15
что тут вкладки, что там вкладки, не вижу разницы.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
19.05.2013, 20:10     Несколько Activity в одной вкладке TAB #16
ну в одних есть картинки, в других нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 20:18     Несколько Activity в одной вкладке TAB
Еще ссылки по теме:
Android Вывод activity в activity
Activity Android
Android ViewPager и Tab
Activity и многопоточность Android
Android Widget + activity

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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 20:18     Несколько Activity в одной вкладке TAB #17
вроде как можно изменить их как угодно.
Yandex
Объявления
19.05.2013, 20:18     Несколько Activity в одной вкладке TAB
Ответ Создать тему
Опции темы

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