Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159

Викторина из 100 заданий

02.04.2017, 00:48. Показов 2893. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, по теме: вопросы ( а их больше 100) - находятся в базе данных
Имеется TextView, где будет храниться название вопроса, RadioGroup состоит из 4 вариантов ответа.
Допустим, что будут также три разных уровня сложности (это тоже указано в таблице), начиная от самых легких и заканчивая это самыми сложными.
Как бы это все реализовать для смартфона?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2017, 00:48
Ответы с готовыми решениями:

Викторина
Доброго времени суток, ув. форумчане. Хотел спросить вашего совета. Пишу приложение наподобие милионера или о, счастливчик. Есть несколько...

Смоделировать процесс функционирования ВЛ при условии, что обработать необходимо 100 заданий.
В вычислительной лаборатории (ВЛ) имеются три ЭВМ. Задания на обработку поступают с интервалом 20 ± 5 мин в пункт приема. Здесь в течение...

Викторина
Кто-то сталкивался с созданием викторины на C#? Может, знаете, как сделать так, чтобы при появлении какого-либо вопроса, ответы...

16
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.04.2017, 09:09
Реализовать что? Делаешь выборку в бд, достаёшь 10 случайных вопросов с полем легко, потом средние и сложные. Соответственно, от вопроса к вопросу меняешь просто текствью и подпись кнопок.
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
02.04.2017, 10:39  [ТС]
Вопрос такой: БД нужно будет делать посредством SQlite?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.04.2017, 14:38
На твой выбор, sqlite проще всего в плане интеграции с приложением.
1
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 11:55  [ТС]
Появилась новая проблема: Когда запускаю викторину в новой Activity, по умолчанию задается вариант ответа A. Если я хочу поменять вариант на B, C или D, то у меня эта активити вылетает, а программа возвращается на главную 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
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
package com.example.mvideo.progeng;
 
import android.net.MailTo;
import android.net.Uri;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.content.Context;
import android.widget.RadioButton;
import android.widget.ExpandableListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ExpandableListView;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.widget.Chronometer;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import android.content.DialogInterface;
import android.content.Intent;
 
public class TestActivity extends Activity {
    AlertDialog.Builder ad;
    Context context;
    private TextView textquest;
    private RadioGroup varans;
    private Chronometer timeout;
    private Button nxt;
    private Button lat;
    private Button fnsh;
    private TextView curquestion;
    int i = 1;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.testactivity);
        textquest = (TextView) findViewById(R.id.textView);
        RadioButton varA = (RadioButton) findViewById(R.id.varA);
        varA.setOnClickListener(radioButtonClickListener);
 
        RadioButton varB = (RadioButton) findViewById(R.id.varB);
        varB.setOnClickListener(radioButtonClickListener);
 
        RadioButton varC = (RadioButton) findViewById(R.id.varC);
        varC.setOnClickListener(radioButtonClickListener);
 
        RadioButton varD = (RadioButton) findViewById(R.id.varD);
        varD.setOnClickListener(radioButtonClickListener);
        timeout = (Chronometer) findViewById(R.id.timeout);
        nxt = (Button) findViewById(R.id.nxt);
        lat = (Button) findViewById(R.id.lat);
        fnsh = (Button) findViewById(R.id.fnsh);
        curquestion = (TextView) findViewById(R.id.curquestion);
        timeout.start();
        curquestion.setText(i + " out of 100");
    }
 
    public void Stoptest(View view) {
        context = TestActivity.this;
        String t2 = "You pushed TRY LATER button";
        String msg2 = "Are you sure? Current answers will be lost.";
        String btn1string = "YES";
        String btn2string = "NO";
        ad = new AlertDialog.Builder(context);
        ad.setTitle(t2);
        ad.setMessage(msg2);
        ad.setPositiveButton(btn1string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You stopped. You may try again the entry test later.", Toast.LENGTH_LONG).show();
                Intent intent = new Intent(TestActivity.this, ResultAct.class);
                startActivity(intent);
            }
        });
        ad.setNegativeButton(btn2string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "Continue", Toast.LENGTH_LONG).show();
            }
        });
    }
    public void nxtqstnclck(View view) {
        i++;
        curquestion.setText(i + " out of 100");
        if (i==100) {
            nxt.setVisibility(view.INVISIBLE);
            lat.setVisibility(view.INVISIBLE);
            fnsh.setVisibility(view.VISIBLE);
        }
    }
    public void fnshclck(View view) {
        Intent intent = new Intent(TestActivity.this, ResultAct.class);
        startActivity(intent);
    }
    View.OnClickListener radioButtonClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            RadioButton rb = (RadioButton) v;
            switch (rb.getId()) {
                case R.id.varA:
                    Toast.makeText(context, "You chose variant A. Are you sure? If yes, press NEXT QUESTION button.", Toast.LENGTH_LONG).show();
                    break;
                case R.id.varB:
                    Toast.makeText(context, "You chose variant B. Are you sure? If yes, press NEXT QUESTION button.", Toast.LENGTH_LONG).show();
                    break;
                case R.id.varC:
                    Toast.makeText(context, "You chose variant C. Are you sure? If yes, press NEXT QUESTION button.", Toast.LENGTH_LONG).show();
                    break;
                case R.id.varD:
                    Toast.makeText(context, "You chose variant D. Are you sure? If yes, press NEXT QUESTION button.", Toast.LENGTH_LONG).show();
                    break;
            }
        }
    };
}
Подскажите, что я упустил в коде?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.04.2017, 12:16
Ты упустил прикрепить лог ошибки.
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 13:12  [ТС]
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ты упустил прикрепить лог ошибки.
Т.е. использовать нужно log.e? И если да, то нажатие на вариант ответа следует добавить в исключения?
0
0 / 0 / 0
Регистрация: 10.04.2017
Сообщений: 4
10.04.2017, 15:54
Dionisius,
Т.е. использовать нужно log.e?
Это будет плюсом, но нужен лог ошибки, которая возникла, посмотри в Android Monitor -> logcat
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
10.04.2017, 15:55
Лучший ответ Сообщение было отмечено Dionisius как решение

Решение

вместо
Java
1
public class TestActivity extends Activity
должно быть
Java
1
public class TestActivity extends AppCompatActivity
1
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 16:39  [ТС]
Цитата Сообщение от Паблито Посмотреть сообщение
public class TestActivity extends AppCompatActivity
Сработало, однако))
Я пока посмотрю еще, как выглядят коды ошибок)

Добавлено через 17 минут
И теперь появилась еще одна ошибка, когда хочу зайти в раздел главного меню About:
04-10 10:04:25.764 2035-2376/com.google.android.gms.persistent E/GCoreUlr: Bad errorId configuring silent feedback
Вопрос: как быть в этой ситуации?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
10.04.2017, 16:54
в коде выше я вообще не вижу ничего связанного с меню

и это не лог ошибки, там должно быть строк намного больше
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 17:58  [ТС]
Цитата Сообщение от Паблито Посмотреть сообщение
в коде выше я вообще не вижу ничего связанного с меню
Так это совершенно другая активити

Вернемся по сути к викторине, вот такая фигня творится:
04-10 10:04:36.021 3107-3107/com.example.mvideo.progeng E/myLogs: You chose variant D.
04-10 10:04:36.025 3107-3107/com.example.mvideo.progeng E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mvideo.progeng, PID: 3107
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.widget.Toast.<init>(Toast.java:1 02)
at android.widget.Toast.makeText(Toast.java :259)
at com.example.mvideo.progeng.TestActivity$ 3.onClick(TestActivity.java:130)
at android.view.View.performClick(View.java :5198)
at android.widget.CompoundButton.performCli ck(CompoundButton.java:122)
at android.view.View$PerformClick.run(View. java:21147)
at android.os.Handler.handleCallback(Handle r.java:739)
at android.os.Handler.dispatchMessage(Handl er.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(Activity Thread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:616)
04-10 10:04:38.776 1710-1748/system_process E/InputDispatcher: channel '65a5e69 com.example.mvideo.progeng/com.example.mvideo.progeng.TestActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-10 10:04:38.776 1710-1748/system_process E/InputDispatcher: channel '2c8f666 com.example.mvideo.progeng/com.example.mvideo.progeng.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-10 10:04:38.791 1710-3122/system_process E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9dc97e00
04-10 10:04:38.875 3493-3493/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_dependencies_apk.apk@classes .dex: Permission denied
04-10 10:04:38.948 3495-3495/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_0_apk.apk@classes.dex: Permission denied
04-10 10:04:38.960 3498-3498/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_1_apk.apk@classes.dex: Permission denied
04-10 10:04:38.972 3500-3500/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_2_apk.apk@classes.dex: Permission denied
04-10 10:04:38.987 3502-3502/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_3_apk.apk@classes.dex: Permission denied
04-10 10:04:39.005 3504-3504/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_4_apk.apk@classes.dex: Permission denied
04-10 10:04:39.024 3507-3507/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_5_apk.apk@classes.dex: Permission denied
04-10 10:04:39.038 3516-3516/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_6_apk.apk@classes.dex: Permission denied
04-10 10:04:39.047 3474-3474/? E/memtrack: Couldn't load memtrack module (No such file or directory)
04-10 10:04:39.047 3474-3474/? E/android.os.Debug: failed to load memtrack module: -2
04-10 10:04:39.051 3525-3525/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_7_apk.apk@classes.dex: Permission denied
04-10 10:04:39.067 3527-3527/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_8_apk.apk@classes.dex: Permission denied
04-10 10:04:39.239 3548-3548/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_dependencies_apk.apk@classes .dex: Permission denied
04-10 10:04:39.361 3562-3562/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_0_apk.apk@classes.dex: Permission denied
04-10 10:04:39.374 3565-3565/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_1_apk.apk@classes.dex: Permission denied
04-10 10:04:39.385 3567-3567/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_2_apk.apk@classes.dex: Permission denied
04-10 10:04:39.400 3569-3569/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_3_apk.apk@classes.dex: Permission denied
04-10 10:04:39.415 3571-3571/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_4_apk.apk@classes.dex: Permission denied
04-10 10:04:39.425 3573-3573/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_5_apk.apk@classes.dex: Permission denied
04-10 10:04:39.435 3575-3575/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_6_apk.apk@classes.dex: Permission denied
04-10 10:04:39.445 3577-3577/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_7_apk.apk@classes.dex: Permission denied
04-10 10:04:39.454 3579-3579/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_8_apk.apk@classes.dex: Permission denied
04-10 10:04:39.465 3581-3581/? E/dex2oat: Failed to create oat file: /data/dalvik-cache/x86/data@app@com.example.mvideo.progeng-1@split_lib_slice_9_apk.apk@classes.dex: Permission denied
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
10.04.2017, 18:12
и еще код этой активити
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 18:34  [ТС]
Паблито, и код 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
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
227
228
229
230
231
232
233
234
235
236
237
package com.example.mvideo.progeng;
 
import .....
 
public class MainActivity extends AppCompatActivity {
    AlertDialog.Builder ad;
    Context context;
 
    private ......
 
    public String[] names = new String[]{....
    };
    public String[] verbtenses = new String[]{/....
    };
    public String[] adj = new String[]{......
    };
    public String[] adv = new String[]{.....
};
    public String[] dets = new String[]{.....
    };
    public String[] gerund = new String[]{......
    };
    public String[] speech = new String[]{......
    };
    public String[] nouns = new String[]{......
    };
    public String[] passive = new String[]{.....
    };
    public String[] recl = new String[]{......
    };
    public String[] infinitive = new String[]{......
    };
    public String[] toget = new String[]{.....
        };
public String[] pos = new String[]{.....
        };
    ArrayList<Map<String, String>> groupData;
 
    ArrayList<Map<String, String>> childDataItem;
 
    ArrayList<ArrayList<Map<String, String>>> childData;
    
    Map<String, String> m;
 
    ExpandableListView mListView1;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
        mButton1 = (Button) findViewById(R.id.mButton1);mButton2 = (Button) findViewById(R.id.mButton2);
        mButton3 = (Button) findViewById(R.id.mButton3);mButton4 = (Button) findViewById(R.id.mButton4);
        mButton5 = (Button) findViewById(R.id.mButton5);mButton6 = (Button) findViewById(R.id.mButton6);
        mButton7 = (Button) findViewById(R.id.mButton7);mButton8 = (Button) findViewById(R.id.mButton8);
        mButton9 = (Button) findViewById(R.id.mButton9);mAboutButton = (Button) findViewById(R.id.mAboutButton);
        HelpBTN = (Button) findViewById(R.id.HelpBTN);ReportBTN = (Button) findViewById(R.id.ReportBTN);
        mTextView1 = (TextView) findViewById(R.id.mTextView1);mTextView2 = (TextView) findViewById(R.id.mTextView2);
        mListView1 = (ExpandableListView) findViewById(R.id.mListView1);context = MainActivity.this;
        String ttl = "You pushed BEGIN button";String msg = "Are you first time user? If yes, you will have to do the entry grammar test.";String button1string = "YES";String button2string = "NO";ad = new AlertDialog.Builder(context);ad.setTitle(ttl);
        ad.setMessage(msg);ad.setPositiveButton(button1string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You have to do the entry complex test. You have 40 miuntes to answer on 100 questions.", Toast.LENGTH_LONG).show();
                Intent intent = new Intent(MainActivity.this, TestActivity.class);startActivity(intent);
            }
        });
        ad.setNegativeButton(button2string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You are not a first time user.", Toast.LENGTH_LONG).show();mButton1.setVisibility(View.INVISIBLE);mButton4.setVisibility(View.INVISIBLE);
                HelpBTN.setVisibility(View.INVISIBLE);ReportBTN.setVisibility(View.INVISIBLE);
                mAboutButton.setVisibility(View.INVISIBLE);mButton2.setVisibility(View.VISIBLE);
                mButton5.setVisibility(View.VISIBLE);mButton3.setVisibility(View.VISIBLE);mTextView1.setText("Choose a section");
            }
        });
    }
 
 
        public void onClick(View view) {ad.show();    }
 
    public void onClick1(View view) {
        mButton2.setVisibility(View.INVISIBLE);mButton3.setVisibility(View.INVISIBLE);mButton5.setVisibility(View.INVISIBLE);
        mTextView1.setVisibility(View.INVISIBLE);mTextView2.setVisibility(View.VISIBLE);groupData = new ArrayList<>();
        for (String group : names) {
            // заполняем список атрибутов для каждой группы
            m = new HashMap<>();m.put("groupName", group); 
        }
 
 
String groupFrom[] = new String[] {"groupName"};int groupTo[] = new int[] {android.R.id.text1};
childData = new ArrayList<ArrayList<Map<String, String>>>();childDataItem = new ArrayList<Map<String, String>>();
        
        for (String topic : adj) {
            m = new HashMap<>();m.put("topName", topic); childDataItem.add(m);
        }
        
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : adv) {
            m = new HashMap<>();m.put("topName", topic);childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : dets) {
            m = new HashMap<>();m.put("topName", topic);childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : speech) {
            m = new HashMap<>();m.put("topName", topic);childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : gerund) {
            m = new HashMap<>(); m.put("topName", topic);childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : nouns) {
            m = new HashMap<>();m.put("topName", topic);childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : passive) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : pos) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : recl ) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : infinitive) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : toget) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String topic : verbtenses) {
            m = new HashMap<>();
            m.put("topName", topic);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
       
        String childFrom[] = new String[] {"topName"};
 
        int childTo[] = new int[] {android.R.id.text1};
 
        SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
                this,groupData,android.R.layout.simple_expandable_list_item_1,groupFrom,groupTo,childData,android.R.layout.simple_list_item_1,childFrom,childTo);
 
        mListView1 = (ExpandableListView) findViewById(R.id.mListView1);
        mListView1.setAdapter(adapter);
/*
        mListView1.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Log.d(LOG_TAG, "itemClick: position = " + position + ", id = "
                        + id);
                Map map = (Map) mListView1.getItemAtPosition(position); Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent);
 
            }
        });*/
    }
 
 
    //прохождение практических тестов
    public void onClick2(View view) {
        mButton2.setVisibility(View.INVISIBLE);
        mButton3.setVisibility(View.INVISIBLE);
        mTextView1.setVisibility(View.VISIBLE);
        mButton5.setVisibility(View.INVISIBLE);
        mTextView1.setText("Choose your level of difficulty");
        mButton6.setVisibility(View.VISIBLE);
        mButton7.setVisibility(View.VISIBLE);
        mButton8.setVisibility(View.VISIBLE);
        mButton9.setVisibility(View.VISIBLE);
        /*
        mButton5.setVisibility(View.VISIBLE);
        mButton6.setVisibility(View.VISIBLE);*/
    }
 
    //выход из программы
    public void onClick3(View view) {
        finish();
    }
 
    public void onClick4(View view) {
    }
 
    public void onClick5(View view) {
    }
 
    public void AboutOnClick(View view) {
        //Map map = (Map) mListView1.getItemAtPosition(position);
        Intent intent1 = new Intent(MainActivity.this, AboutActivity.class);
        startActivity(intent1);
    }
    public void reportClick (View view){
 
    }
 
    public void helpClick (View view){
 
    }
}


Код TestActivity:
Кликните здесь для просмотра всего текста
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
package com.example.mvideo.progeng;
 
import .....
 
public class TestActivity extends Activity {
    AlertDialog.Builder ad;
    Context context;
    private .....
    int i = 1;
    private static final String TAG = "myLogs";
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);setContentView(R.layout.testactivity); textquest = (TextView) findViewById(R.id.textView);
        RadioButton varA = (RadioButton) findViewById(R.id.varA);varA.setOnClickListener(radioButtonClickListener);
        RadioButton varB = (RadioButton) findViewById(R.id.varB);varB.setOnClickListener(radioButtonClickListener);
        RadioButton varC = (RadioButton) findViewById(R.id.varC);varC.setOnClickListener(radioButtonClickListener);
        RadioButton varD = (RadioButton) findViewById(R.id.varD);varD.setOnClickListener(radioButtonClickListener);
        timeout = (Chronometer) findViewById(R.id.timeout);nxt = (Button) findViewById(R.id.nxt);
        lat = (Button) findViewById(R.id.lat);fnsh = (Button) findViewById(R.id.fnsh);
        curquestion = (TextView) findViewById(R.id.curquestion);timeout.start();curquestion.setText(i + " out of 100");
    }
 
    public void Stoptest(View view) {
        context = TestActivity.this;
        String t2 = "You pushed TRY LATER button";
        String msg2 = "Are you sure? Current answers will be lost.";
        String btn1string = "YES";
        String btn2string = "NO";
        ad = new AlertDialog.Builder(context);
        ad.setTitle(t2);
        ad.setMessage(msg2);
        ad.setPositiveButton(btn1string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You stopped. You may try again the entry test later.", Toast.LENGTH_LONG).show();
                Intent intent = new Intent(TestActivity.this, ResultAct.class);startActivity(intent);
            }
        });
        ad.setNegativeButton(btn2string, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "Continue", Toast.LENGTH_LONG).show();
            }
        });
    }
    public void nxtqstnclck(View view) {
        Log.d(TAG, "Переходим на следующий вопрос");
        i++;
        curquestion.setText(i + " out of 100");
        if (i==100) {
            nxt.setVisibility(view.INVISIBLE);lat.setVisibility(view.INVISIBLE);fnsh.setVisibility(view.VISIBLE);
        }
    }
    public void fnshclck(View view) {
        Intent intent = new Intent(TestActivity.this, ResultAct.class);startActivity(intent);
    }
 
    View.OnClickListener radioButtonClickListener;
 
    {
        radioButtonClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                RadioButton rb = (RadioButton) v;
                //Exception exception;
                switch (rb.getId()) {
                    case R.id.varA:
                        Log.e("You chose variant A.", TAG);
                        Toast.makeText(context, "You chose variant A.", Toast.LENGTH_LONG).show();break;
                    case R.id.varB:
                        Log.e("You chose variant B.", TAG);
                        Toast.makeText(context, "You chose variant B.", Toast.LENGTH_LONG).show();break;
                    case R.id.varC:
                        Log.e("You chose variant C.", TAG);
                        Toast.makeText(context, "You chose variant C.", Toast.LENGTH_LONG).show();break;
                    case R.id.varD:
                        Log.e("You chose variant D.", TAG);
                        Toast.makeText(context, "You chose variant D.", Toast.LENGTH_LONG).show();break;
                }
            }
        };
    }
}


Код сокращал по мере возможности из-за того, что в посте может быть максимум 15000 символов.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
10.04.2017, 18:50
Java
1
Toast.makeText(context,
разве не очевидно что context не инициализирована?

она вообще инициализируется в каком-то непонятном методе, который вообще не вызывается после onCreate()
в тостах там везде можно так и писать TestActivity.this вместо context
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
10.04.2017, 19:57  [ТС]
Цитата Сообщение от Паблито Посмотреть сообщение
в тостах там везде можно так и писать TestActivity.this вместо context
Другие недостатки и вопросы ко мне есть?
0
10.04.2017, 19:58

Не по теме:

я в код не вникал, но уверен что полно
главное что бы работало

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2017, 19:58
Помогаю со студенческими работами здесь

Викторина
Всем привет У меня зародилась идея но я не знаю как мне её воплотить и прошу вашей помощи! Есть обычный чат скажем на сервисе Скажем...

Викторина
Ребят , вот решил создать Викторину . все понятно но есть 1 вопрос ! 1) вот я поставил изначальное значение int index = 0 . тип...

Указатели. Найти количество элементов массива, которые больше 100, меньше 100, равны 100
Разработать функцию,которая находит количество элементов массива,которые больше 100,меньше 100, равно 100 Не могу вывести...

Викторина на WinApi
Не подскажите как с помощью WinApi сделать викторину. То есть надо есть вопросы к примеру. 1.&quot;Какой из этих языков ООП&quot; а)...

Викторина Flask
нужно сделать простенькую викторину с помощью Python, используя микрофрэймворк Flask + html выглядеть, по моим задумкам это должно...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru