Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
div22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 47
1

Как Random-но переключаться между фрагментами по нажатию кнопки?

01.05.2018, 21:05. Просмотров 384. Ответов 1

Мне нужна ваша помощь. У меня есть фрагменты с TextView и RaioButtons и Button,
с помощью кнопки я переключаю фрагменты и выполняю условие (isChecked) RaioButtons.

Но я хочу, чтобы фрагменты переключались случайным образом и выполняли условие if (isChecked). Я использую Random generator = new Random (); и фрагменты переключаются случайным образом, но условие if (isChecked) выполняется не корректно (предыдущего фрагмента).

Мне нужно выполнить if (isChecked) текущего фрагмента, когда я нажимаю кнопку и перехожу к следующему фрагменту.
Как это сделать не могу сообразить...
Помогите пожалуйста...

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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
public class QuizActivity  extends AppCompatActivity
{
    RadioButton a,b,c,d;
    CheckBox i,ii,iii,iv,v;
    int score;
    int quest;
 
    Button bt;
 
    private static final String TAG = "myLogs";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getFragmentManager().beginTransaction().replace(R.id.container,new Q1_RadioButton()).commit();
       // quest=0;
        score=0;
 
       TextView que = findViewById(R.id.question);
 
 
 
 
    }
 
    public void onClickNext(View view) {
        bt = findViewById(R.id.button2);
        a = findViewById(R.id.rb1);
        b = findViewById(R.id.rb2);
        c = findViewById(R.id.rb3);
        d = findViewById(R.id.rb4);
        i =  findViewById(R.id.cb1);
        ii = findViewById(R.id.cb2);
        iii = findViewById(R.id.cb3);
        iv =  findViewById(R.id.cb4);
        v =  findViewById(R.id.cb5);
        Toast toast;
        // Here, we are generating a random number
           Random generator = new Random();
          int quest = generator.nextInt(5) + 1;
        // The '5' is the number of activities
 
        // Here, we are checking to see what the output of the random was
        //switch (number) {
 
        switch (quest) {
            case 1: {getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q2_CheckBox()).addToBackStack(null).commit();
                if (a.isChecked()){  score+=1;  }
                //quest=1;
                toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();
            }break;
            case 2: {getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q3_RadioButton()).addToBackStack(null).commit();
               // quest=2;
                if (iii.isChecked() || iv.isChecked() || v.isChecked()) {score -= 1;
                    if (i.isChecked() && ii.isChecked()){score += 2;
                    }else if ((i.isChecked() || ii.isChecked())) {score += 1; return; }
                } else if (i.isChecked() && ii.isChecked()) { score += 2;  return;
                } else if (i.isChecked() || ii.isChecked()) {score += 1;  }     toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();}break;
            case 3: {getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q4_RadioButton()).addToBackStack(null).commit();
                if (c.isChecked()){   score+=1; }
                //quest=3;
                toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();}break;
            case 4: {getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q5_CheckBox()).addToBackStack(null).commit();
                if (d.isChecked()){   score+=1; }
               // quest=4;
                toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();}break;
            case 5: {getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q6_RadioButton()).addToBackStack(null).commit();
                //quest=5;
                if (i.isChecked() || iii.isChecked()) {score -= 1;
                    if (ii.isChecked() && iv.isChecked()){score += 2;
                    }else if ((ii.isChecked() || iv.isChecked())) {score += 1; return; }
                } else if (ii.isChecked() && iv.isChecked()) { score += 2;  return;
                } else if (ii.isChecked() || iv.isChecked()) {score += 1;  }
                toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();}break;
            case 6: {//getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right).replace(R.id.container, new Q7_CheckBox()).addToBackStack(null).commit();
                if (b.isChecked()){   score+=1; }
                //quest=6;
                toast = Toast.makeText(getApplicationContext(),"You:" + score, Toast.LENGTH_SHORT); toast.show();}break;
 
 
 
 
        }
    }
 
 
 
    public static class Q1_RadioButton extends Fragment { public Q1_RadioButton() { }
 
        @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
 
        {View myInflatedView = inflater.inflate(R.layout.rb_fragment_questions, container, false);
            TextView que = myInflatedView.findViewById(R.id.question);
            que.setText(Html.fromHtml((getString(R.string.q_1))));
 
            RadioButton rb1 = myInflatedView.findViewById(R.id.rb1);
            rb1.setText(R.string.q1_rb1_answ);
            RadioButton rb2= myInflatedView.findViewById(R.id.rb2);
            rb2.setText(R.string.q1_rb2_answ);
            RadioButton rb3= myInflatedView.findViewById(R.id.rb3);
            rb3.setText(R.string.q1_rb3_answ);
            RadioButton rb4= myInflatedView.findViewById(R.id.rb4);
            rb4.setText(R.string.q1_rb4_answ);
            return myInflatedView; }    }
 
    public static class Q2_CheckBox extends Fragment { public Q2_CheckBox() { }   @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){View myInflatedView = inflater.inflate(R.layout.cb_fragment_questions, container, false); TextView que = myInflatedView.findViewById(R.id.question);
            que.setText(Html.fromHtml((getString(R.string.q_2))));
            CheckBox cb1 = myInflatedView.findViewById(R.id.cb1);
            cb1.setText(R.string.q2_cb1_answ);
            CheckBox cb2= myInflatedView.findViewById(R.id.cb2);
            cb2.setText(R.string.q2_cb2_answ);
            CheckBox cb3= myInflatedView.findViewById(R.id.cb3);
            cb3.setText(R.string.q2_cb3_answ);
            CheckBox cb4= myInflatedView.findViewById(R.id.cb4);
            cb4.setText(R.string.q2_cb4_answ);
            CheckBox cb5= myInflatedView.findViewById(R.id.cb5);
            cb5.setText(R.string.q2_cb5_answ);
            return myInflatedView; }    }
 
    public static class Q3_RadioButton extends Fragment { public Q3_RadioButton() { }  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {View myInflatedView = inflater.inflate(R.layout.rb_fragment_questions, container, false);  TextView que = myInflatedView.findViewById(R.id.question);
            que.setText(Html.fromHtml((getString(R.string.q_3))));
            RadioButton rb1 = myInflatedView.findViewById(R.id.rb1);
            rb1.setText(R.string.q3_rb1_answ);
            RadioButton rb2= myInflatedView.findViewById(R.id.rb2);
            rb2.setText(R.string.q3_rb2_answ);
            RadioButton rb3= myInflatedView.findViewById(R.id.rb3);
            rb3.setText(R.string.q3_rb3_answ);
            RadioButton rb4= myInflatedView.findViewById(R.id.rb4);
            rb4.setText(R.string.q3_rb4_answ);
            return myInflatedView; }    }
 
    public static class Q4_RadioButton extends Fragment { public Q4_RadioButton() { }  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {View myInflatedView = inflater.inflate(R.layout.rb_fragment_questions, container, false);  TextView que = myInflatedView.findViewById(R.id.question);
        que.setText(Html.fromHtml((getString(R.string.q_4))));
        RadioButton rb1 = myInflatedView.findViewById(R.id.rb1);
        rb1.setText(R.string.q4_rb1_answ);
        RadioButton rb2= myInflatedView.findViewById(R.id.rb2);
        rb2.setText(R.string.q4_rb2_answ);
        RadioButton rb3= myInflatedView.findViewById(R.id.rb3);
        rb3.setText(R.string.q4_rb3_answ);
        RadioButton rb4= myInflatedView.findViewById(R.id.rb4);
        rb4.setText(R.string.q4_rb4_answ);
        return myInflatedView; }    }
 
    public static class Q5_CheckBox extends Fragment { public Q5_CheckBox() { }   @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){View myInflatedView = inflater.inflate(R.layout.cb_fragment_questions, container, false); TextView que = myInflatedView.findViewById(R.id.question);
        que.setText(Html.fromHtml((getString(R.string.q_5))));
        ImageView imageview = myInflatedView.findViewById(R.id.imageQ);
        imageview.setVisibility(View.VISIBLE);
        imageview.setImageResource(R.drawable.q5);
        CheckBox cb1 = myInflatedView.findViewById(R.id.cb1);
        cb1.setText(R.string.q5_cb1_answ);
        CheckBox cb2= myInflatedView.findViewById(R.id.cb2);
        cb2.setText(R.string.q5_cb2_answ);
        CheckBox cb3= myInflatedView.findViewById(R.id.cb3);
        cb3.setText(R.string.q5_cb3_answ);
        CheckBox cb4= myInflatedView.findViewById(R.id.cb4);
        cb4.setText(R.string.q5_cb4_answ);
        CheckBox cb5= myInflatedView.findViewById(R.id.cb5);
        cb5.setVisibility(View.GONE);
        return myInflatedView; }  }
 
    public static class Q6_RadioButton extends Fragment { public Q6_RadioButton() { }  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {View myInflatedView = inflater.inflate(R.layout.rb_fragment_questions, container, false);  TextView que = myInflatedView.findViewById(R.id.question);
        que.setText(Html.fromHtml((getString(R.string.q_6))));
        RadioButton rb1 = myInflatedView.findViewById(R.id.rb1);
        rb1.setText(R.string.q6_rb1_answ);
        RadioButton rb2= myInflatedView.findViewById(R.id.rb2);
        rb2.setText(R.string.q6_rb2_answ);
        RadioButton rb3= myInflatedView.findViewById(R.id.rb3);
        rb3.setText(R.string.q6_rb3_answ);
        RadioButton rb4= myInflatedView.findViewById(R.id.rb4);
        rb4.setText(R.string.q6_rb4_answ);
        return myInflatedView; }    }
 
 
        public void displayAlertDialog() {
            AlertDialog.Builder alert = new AlertDialog.Builder(this);
            alert.setTitle((getString(R.string.final_score)));
            alert.setMessage("Your score:" + score);
            alert.setPositiveButton((getString(R.string.change)), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    finish();      }
 
            });
            alert.setNegativeButton((getString(R.string.cancel)), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();      }
            });
            AlertDialog dialog = alert.create();
            dialog.show();
        }
 
    @Override
    public void onBackPressed() {
 
                exitAlertDialog();
 
            }
 
    public void exitAlertDialog() {
 
            AlertDialog.Builder alert = new AlertDialog.Builder(this);
            alert.setTitle("Exit");
            alert.setMessage("Cancel");
            alert.setPositiveButton((getString(R.string.change)), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    finish();      }
 
            });
            alert.setNegativeButton((getString(R.string.cancel)), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();      }
            });
            AlertDialog dialog = alert.create();
            dialog.show();
        }
 
 
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2018, 21:05
Ответы с готовыми решениями:

Как переключаться между фрагментами
Добрые люди. имеется одна активити . в нём контейнер и одна кнопка снизу. когда нажимаю на кнопку...

Как переключаться между шаблонами
Доброго времени суток, вопрос такой. Я изменил под себя тему, настроил главную, все исходники себе...

Как в коде переключаться между стилями?
Предположим, кнопки Btn1 - Btn5 имеют внешность стиля "ClickBatton": <Style...

GUI Как переключаться между меню?
Допустим есть некая программа. При клике на кнопку Настройки должен осуществляться переход в меню...

Как переключаться между Ubuntu и Windows 7?
здравствуйте. Вчера поставил убунту поверх винды, пользуясь данным руководством:...

1
Astend
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 207
02.05.2018, 14:47 2
Не по теме: о Господи мои глаза...
http://developer.alexanderklimov.ru/android/java/mememe.php

в твоём коде разбиратся никто не будет 90%

в качестве помощи твоему вопросу рекомендую посмотреть вот это видео, там несколько частей

https://www.youtube.com/watch?v=k9dS...oY_eBI&index=7
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2018, 14:47

Как переключаться между формами приложения?
Как переключатся между создаными формами в билдере?Есть какая-то комбинация клавиш?

Как переключаться между наушниками и колонками?
Моя воображаемая девушка задала такой вопрос. Еще сказала, что у нее колонки и наушники...

Как переключаться между несколькими формами?
у меня в приложении несколько форм, как мне между ними переключаться?


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

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

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