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

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

Войти
Регистрация
Восстановить пароль
 
_Noricon_
0 / 0 / 0
Регистрация: 26.08.2013
Сообщений: 6
#1

RadioButton & Fragments - Программирование Android

11.10.2013, 09:36. Просмотров 1103. Ответов 2
Метки нет (Все метки)

Доброго дня. Уважаемые форумчане, подскажите. Нужно создать приложение которое имеет 3 вкладки. Вкладки реализованы в виде RadioGroup / RadioButton). Контейнеры табов - фрагменты.

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
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.View.OnClickListener;
import android.widget.RadioGroup;
import android.widget.Toast;
 
@SuppressLint("NewApi")
public class MainActivity extends Activity {
 
    OnClickListener radioListener;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
 
    RadioGroup radiogroup = (RadioGroup) findViewById(R.id.radioGroup1);
    
    radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId) {
            case R.id.btn01:
                //не работает 
                android.app.Fragment frag1 = getFragmentManager().findFragmentById(R.id.fragment1);
                break;
            case R.id.btn02:
                break;
            case R.id.btn03:
                break;
            default:
                break;
            }
        }
        });
    }
}
В лайауте создаю три фрагмента, эти фрагменты закидываю в main.xml, и цель вызвать из активити три фрагмента. Ошибка при открытии проги force cod. Очень буду благодарен помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2013, 09:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос RadioButton & Fragments (Программирование Android):

Fragments - Программирование Android
Здравствуйте, я новичок и многого не понимаю. У меня такой вопрос, что содержит в себе приложение по типу ВКонтаке и Facebook. Я имею ввиду...

Fragments - Программирование Android
Не пойму как исправить код чтобы открыл новую страницу import android.content.Intent; import android.os.Bundle; ...

Fragments и Activity - Программирование Android
Есть приложение некоего калькулятора, в котором есть activity_main.xml, где реализованы кнопки и клас MainActivity.java, в котором...

Fragments и service - Программирование Android
такой вопрос как реализовать запуск сервиса и обработку результатов приложении где есть fragments.? хотелось бы запускать сервис в...

Работа с fragments и MediaPlayer - Программирование Android
Здравствуйте! Возник такой вопрос. Я организовал кнопку, при нажатии которой вызывается фрагмент и включается медиафайл. Во фрагменте...

Пример fragments and RecyclerView - Программирование Android
может кто-то показать пример проекта как на фото, с 2 активити, и 2 фрагментами, слева список RecyclerView а справа какая-то инфа, при...

2
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
11.10.2013, 15:16 #2
Цитата Сообщение от _Noricon_ Посмотреть сообщение
force cod
force close наверное)

Создайте 3 фрагмента. Т.е. class A extends Fragment. В активити делайте

Java
1
2
3
4
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frameLayout, new A(), A.getClass().getName());        
transaction.addToBackStack(null);
transaction.commit();
где R.id.frameLayout - контейнер в разметке activity.
1
_Noricon_
0 / 0 / 0
Регистрация: 26.08.2013
Сообщений: 6
13.10.2013, 21:03  [ТС] #3
Спасибо за идею... Ваш код пригодился, проблема теперь другая, я фрагменты использую динамически т.е. через FrameLayout. Хочу реализовать по клику на каждый Radiobtn открывается новый фрагмент. Ошибки нет просто в реализации не видит фрагмент.

MainActivity
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
import android.annotation.SuppressLint; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentTransaction; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.RadioButton; 
 
 
@SuppressLint("NewApi") 
public class MainActivity extends FragmentActivity { 
     
    Fragment1 frag1; 
    Fragment2 frag2; 
    Fragment3 frag3; 
    OnClickListener radioListener; 
    android.app.FragmentTransaction fTrans; 
       
      @Override 
      public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
 
        frag1 = new Fragment1(); 
        frag2 = new Fragment2(); 
        frag3 = new Fragment3(); 
         
        RadioButton  rb01 = (RadioButton)findViewById(R.id.rb01); 
        rb01.setOnClickListener(radioListener); 
 
        RadioButton rb02 = (RadioButton)findViewById(R.id.rb02); 
        rb02.setOnClickListener(radioListener); 
 
        RadioButton rb03 = (RadioButton)findViewById(R.id.rb03); 
        rb03.setOnClickListener(radioListener); 
 
 
      radioListener = new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                boolean checked = ((RadioButton) v).isChecked(); 
                 
                RadioButton rb = (RadioButton)v; 
                switch (rb.getId()) { 
                case R.id.rb01: 
                     if (checked){ 
                             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
                            transaction.replace(R.id.fragment1, new Fragment1(), Fragment1.class.getClass().getName());         
                            transaction.addToBackStack(null); 
                            transaction.commit(); 
                             } 
                    break; 
                case R.id.rb02: 
                     if (checked){ 
                             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
                            transaction.replace(R.id.fragment1, new Fragment2(), Fragment2.class.getClass().getName());         
                            transaction.addToBackStack(null); 
                            transaction.commit(); 
                             } 
                    break; 
                case R.id.rb03: 
                     if (checked){ 
                             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
                            transaction.replace(R.id.fragment1, new Fragment3(), Fragment3.class.getClass().getName());         
                            transaction.addToBackStack(null); 
                            transaction.commit(); 
                             } 
                    break; 
                default: 
                    break; 
                } 
            } 
        }; 
    } 
}

Layout main
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
    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" > 
     
        <LinearLayout 
            android:id="@+id/linearLayout1" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:orientation="horizontal" > 
     
            <TextView 
                android:id="@+id/text01" 
                android:layout_width="fill_parent" 
                android:layout_height="20dp" 
                android:layout_gravity="center" 
                android:layout_weight="1" 
                android:text="1_Frag" /> 
     
            <TextView 
                android:id="@+id/text02" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:layout_gravity="center" 
                android:layout_weight="1" 
                android:text="2_Frag" /> 
     
            <TextView 
                android:id="@+id/text03" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:layout_gravity="center" 
                android:layout_weight="1" 
                android:text="3_Frag" /> 
     
            <TextView 
                android:id="@+id/text04" 
                android:layout_width="fill_parent" 
                android:layout_height="20dp" 
                android:layout_gravity="center" 
                android:layout_weight="1" 
                android:text="4_Frag" /> 
     
            <TextView 
                android:id="@+id/text05" 
                android:layout_width="fill_parent" 
                android:layout_height="20dp" 
                android:layout_gravity="center" 
                android:layout_weight="1" 
                android:text="5_Frag" /> 
        </LinearLayout> 
     
        <RadioGroup 
            android:id="@+id/radioGroup1" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:orientation="horizontal" > 
     
            <RadioButton 
                android:id="@+id/rb01" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="24dp" 
                android:layout_weight="1" 
                android:checked="true" /> 
     
            <RadioButton 
                android:id="@+id/rb02" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="24dp" 
                android:layout_weight="1" /> 
     
            <RadioButton 
                android:id="@+id/rb03" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="24dp" 
                android:layout_weight="1" /> 
     
            <RadioButton 
                android:id="@+id/rb04" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="24dp" 
                android:layout_weight="1" /> 
     
            <RadioButton 
                android:id="@+id/rb05" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="24dp" 
                android:layout_weight="1" /> 
        </RadioGroup> 
     
    <FrameLayout 
    android:id="@+id/fragment1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"> 
    </FrameLayout> 
     
    </LinearLayout>
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 21:03
Привет! Вот еще темы с ответами:

Реклама admob в fragments - Программирование Android
Как правильно настроить рекламу AdMob для фрагментов?! Например, для обычных Activity, подходит следующий код: @Override public...

Parser XML + RecyclerView + Fragments - Программирование Android
3 вопроса. Вопрос по XML парсингу. Подскажите как сделать выборку парсера по номеру &lt;categoryId&gt;6&lt;/categoryId&gt;? (парсится отсюда...

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

RadioButton в ListView - Программирование Android
Есть две разметки одна со списком, другая отвечает за элемент списка в которой присутствует RadioButton. Создал я кастомный адаптер,...


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

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

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