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

Не получается написать запрос для вызова 2 го Voprosa из базы - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Слайдер картинок, в виде карусели http://www.cyberforum.ru/android-dev/thread1526444.html
Доброго времени суток! Очень понадобилась сделать что-то на подобие вот этого (это бы идеально подошло, но это на iOS) и с этим возникли сложности, так как ничего подобного, никаких примеров я...
Программирование Android косячит retrofit Решил поюзать Retrofit в своем приложении. Сделал вот так compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.squareup.retrofit:retrofit:1.9.0' compile 'com.google.code.gson:gson:2.3' ... http://www.cyberforum.ru/android-dev/thread1526378.html
Программирование Android GridView в фокусе
Как можно программно установить фокус на сетке на экране в GridView например на позицию 0 ?
Программирование Android Расположение кнопки при программном добавлении
Добрый день, уважаемые форумчане. Хотелось бы задать глупый вопрос, на который я так и не нашел ответа. Программно создаю кнопку при нажатии: RelativeLayout.LayoutParams lParams = new...
Программирование Android Get the release certificate fingerprint http://www.cyberforum.ru/android-dev/thread1526183.html
Здравствуйте хочу подключить свою игру к play services, для этого нужно два ключа debug и release, как получить debug понятно, а как release нет. В гайде написано : To get the release certificate...
Программирование Android Реализовать работу с WebDAV Всем привет. Мне нужно реализовать работу с WebDAV. Как это сделать? Может есть готовый класс у кого? Добавлено через 21 минуту никто не поможет?( подробнее

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

Не получается написать запрос для вызова 2 го Voprosa из базы - Программирование Android

08.09.2015, 17:50. Просмотров 251. Ответов 3
Метки (Все метки)

Разрабатываю маленький Тест программу. Данный момент 3 категорий в каждом по 3 вопроса. Использую GridView. Категории выходят и в каждом категории выходят первые вопросы из каждой категории. В окне вопросов есть TextVeiw для вопроса, 4 RadioButton для ответов и Button для следующего вопроса, хочу чтобы при нажатии кнопки Button вопрос переходил на второй вопрос. В этом место остановился, не могу продвинуться. Для передачи данных пользуюсь Adapter ом и Loader для загрузки вопросов. Может я в начале что то неправильно написал в запросе баз данных и поэтому не выходит второй вопрос. Подскажите мою ошибку. Покажите пример вызова второго вопроса в OnClick методе. Спасибо.

Запрос вопросов из базы
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public List<Questions> allQuestions(int id){
        SQLiteDatabase db = this.getReadableDatabase();
        List<Questions> questionses = new ArrayList<Questions>();
        String st = "select * from matem where category_id=" + id;
 
        Cursor cursor = db.rawQuery(st, null);
 
       if (cursor.moveToFirst()){
            do {       Questions questions = new Questions(cursor.getInt(0),
                        cursor.getString(1), cursor.getString(2),
                        cursor.getString(3), cursor.getString(4),
                        cursor.getString(5), cursor.getString(6),
                        cursor.getString(7), cursor.getInt(8), cursor.getInt(9));
                        questionses.add(questions);
            }while (cursor.moveToNext());
       }
        db.close();
        return questionses;
    }
Лоадер вопросов
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class QuestionsLoaders extends AsyncTaskLoader<List<Questions>>{
 
    public int id;
 
    public QuestionsLoaders(Context context, int id) {
        super(context);
        this.id=id;
    }
 
    @Override
    public List<Questions> loadInBackground() {
        return new DbHelper(getContext()).allQuestions(id);
    }
}
Адаптер для вопросов
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
public class QuestionsAdapter extends BaseAdapter implements View.OnClickListener, OnCheckedChangeListener {
 
    Context context;
    LayoutInflater inflater;
    DbHelper dbHelper;
 
    Button btn_next;
    RadioGroup radioGroup;
    RadioButton rb,radAns1,radAns2,radAns3,radAns4;;
 
    List<Questions> questionsList;
   
    int nextQ = 0;
    int score = 0;
    int qid = 0;
 
    public QuestionsAdapter() {
 
    }
 
    public QuestionsAdapter(Context context, List<Questions> questionsList) {
        if (questionsList != null) {
            this.questionsList = questionsList;
            this.context = context;
            inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            dbHelper = new DbHelper(this.context);
        }
    }
 
    @Override
    public int getCount() {
        return questionsList.size();
    }
 
    @Override
    public Object getItem(int position) {
        return questionsList.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final View view = inflater.inflate(R.layout.question_list, null);
        final Questions questions = questionsList.get(position);
 
        final TextView question = (TextView) view.findViewById(R.id.textQuestion);
        question.setText(questions.getVopros());
        final RadioButton radAns1 = (RadioButton) view.findViewById(R.id.radAns1);
        radAns1.setText(questions.getAns_1());
        final RadioButton radAns2 = (RadioButton) view.findViewById(R.id.radAns2);
        radAns2.setText(questions.getAns_2());
        final RadioButton radAns3 = (RadioButton) view.findViewById(R.id.radAns3);
        radAns3.setText(questions.getAns_3());
        final RadioButton radAns4 = (RadioButton) view.findViewById(R.id.radAns4);
        radAns4.setText(questions.getAns_4());
        final TextView textAns = (TextView) view.findViewById(R.id.textAns);
        textAns.setText("Right answer:" + questions.getAns_r());
 
        btn_next = (Button) view.findViewById(R.id.btn_next);
        btn_next.setOnClickListener(this);
        return view;
    }
 
    @Override
    public void onClick(View v) {
 
    }
 
    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {
        switch (i) {
            case R.id.radAns1:
                break;
            case R.id.radAns2:
                break;
            case R.id.radAns3:
                break;
            case R.id.radAns4:
                break;
        }
    }
}
В onClick попробовал много вариантов, просто не получается. Подскажите пожалуйста. Спасибо большое.

Добавлено через 31 минуту
и ещё забыл в OnClick если нажать на Button, RadioButton для выявления по id выдает ошибку
Java
1
2
3
4
5
6
7
@Override
    public void onClick(View v) {
                    radioGroup = (RadioGroup)v.findViewById(R.id.radioGroup);
                    int selectedId = radioGroup.getCheckedRadioButtonId();
                    rb = (RadioButton)v.findViewById(selectedId);
 
    }
указывает на int selectedId = radioGroup.getCheckedRadioButtonId();
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
09-07 16:21:35.636  20401-20401/uz.namanganintellectsoftwaredevelopers.testquiz2 E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at uz.namanganintellectsoftwaredevelopers.testquiz2.adapter.QuestionsAdapter.onClick(QuestionsAdapter.java:94)
            at android.view.View.performClick(View.java:4084)
            at android.view.View$PerformClick.run(View.java:16966)
            at android.os.Handler.handleCallback(Handler.java:615)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
Добавлено через 21 час 20 минут
не ужели никто не сможет помоч
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.