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

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

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

В каждой нажатой Кнопке открывается каждый 5ий ответ - Программирование Android

01.07.2016, 16:59. Просмотров 120. Ответов 0
Метки нет (Все метки)

Всем привет
Подскажите новичку пожалуйста ошибку.
Маленькая приложения загадки 102 шт с ответами внизу
Использовал адаптер
Загадки показываются, по умолчанию ответы сделаны INVISIBLE, есть кнопка ответ, при его нажатии снизу загадки показывается TextView ответ.
Так вот при каждой нажатии кнопки ответ показывается TextView ответ но снизу тоже открываются не нажатии TextView ответы. Например нажал на 1 ответ ещё открывается 6-ой, 11-ый и т.д. Если нажимаю 2-ой ответ открывается еще 7-ой, 12-ый и т.д.
Как мне правильно указать позиции ответов на кнопку?
Чтобы при нажатии на кнопку открывалась только тот ответ которую хочет пользователь?
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
public class ZagadkaAdapter extends BaseAdapter{
 
    Context context;
    LayoutInflater inflater;
    List<Slova> slovas;
 
    public ZagadkaAdapter(Context context1, List<Slova> sozlars1){
        this.context=context1;
        this.slovas =sozlars1;
        inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
    @Override
    public int getCount() {
        return slovas.size();
    }
 
    @Override
    public Object getItem(int i) {
        return slovas.get(i);
    }
 
    @Override
    public long getItemId(int i) {
        return i;
    }
 
    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
 
        if (view == null){
            view = inflater.inflate(R.layout.zagadka_adapter, null);
        }
 
        final Slova slova = slovas.get(i);
 
        TextView otv_zag=(TextView)view.findViewById(R.id.otv_zag);
        otv_zag.setText(slova.getZagad());
 
        final TextView otveti=(TextView)view.findViewById(R.id.otveti);
        otveti.setText(slova.getOtveti());
 
        final Button answer = (Button)view.findViewById(R.id.answer);
 
        answer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                otveti.setVisibility(View.VISIBLE);
             }
        });
 
        return view;
    }
}
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
 
    <LinearLayout
        android:id="@+id/content_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">
 
        <TextView
            android:id="@+id/otv_zag"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:layout_marginRight="15dip"
            android:layout_marginTop="5dip"
            android:textColor="#000000"
            android:layout_weight="1"
            android:layout_above="@+id/button"
            android:textStyle="bold" />
 
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/content_lay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/otveti"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:layout_weight="1"
            android:ellipsize="end"
            android:visibility="gone"
            android:textColor="@color/colorRed"
            android:gravity="left|center_vertical"
            android:singleLine="true" />
        <Button
            android:id="@+id/answer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/otveti" />
    </LinearLayout>
 
 
</RelativeLayout>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class MainActivity extends AppCompatActivity {
 
    private DbHelper dbHelper;
    List<Slova> slova = new ArrayList<Slova>();
    ListView listView;
    ZagadkaAdapter zagadkaAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        dbHelper = new DbHelper(this);
        dbHelper.createDB();
 
        slova = dbHelper.zagadki(this);
        zagadkaAdapter = new ZagadkaAdapter(this, slova);
 
        listView = (ListView)findViewById(R.id.listView);
        listView.setAdapter(zagadkaAdapter);
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//    public List<Slova> slovas(int id){
    public List<Slova> zagadki(Context context){
        SQLiteDatabase db = this.getReadableDatabase();
        List<Slova> slovas = new ArrayList<Slova>();
//        String s = "select * from top where _id=" + id;
        String s = "select * from zagad";
        Cursor cursor = db.rawQuery(s, null);
        if (cursor.moveToFirst()){
            do {
                Slova slova = new Slova();
                slova.set_id(cursor.getInt(0));
                slova.setZagad(cursor.getString(1));
                slova.setOtveti(cursor.getString(2));
                slovas.add(slova);
            }
            while (cursor.moveToNext());
        }
        db.close();
        return slovas;
    }
Заранее спасибо большое
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2016, 16:59     В каждой нажатой Кнопке открывается каждый 5ий ответ
Посмотрите здесь:

Обработка удерживания кнопки нажатой - Программирование Android
Выручайте, так и не смог правильный вопрос гуглу задать, мне нужно чтобы зажатая кнопка приводила к итерации события, но в поиске под...

Получить текст с нажатой кнопки - Программирование Android
Здравствуйте. Начал изучать Android Studio и в рамках своего обучения пытаюсь сделать простой калькулятор. Дабы не плодить код сделал...

Тень текста нажатой кнопки - Программирование Android
Есть TabHost. В нём несколько табов. На каждом табе чёрный текст с белой тенью. Когда таб нажат цвет текста меняю на белый. Нужно и цвет...

Получить строковое представление нажатой клавиши - Программирование Android
Несколько дней назад начал изучать android , первое что пришло в голову- написать службу-кейлогер, но вот никак не могу найти метод который...

Как поменять цвет нажатой кнопки в runtime? - Программирование Android
Надо для кнопки менять цвета в нажатом/ненажатом состоянии. Во время работы программы. Цвет бордюра тоже надо менять. Как это делать?

Анимация по кнопке - Программирование Android
Как сделать, чтобы при втором нажатии на кнопку срабатывала другая анимация? Не понимаю что прописать в условии. public void...

Рисование на кнопке - Программирование Android
Как можно из кнопки сделать что-то типа ProgressBar со статическим обновлением заднего фона. Т.е. есть EditText и одна кнопка. В...

Применить стиль к кнопке - Программирование Android
Файл Style: &lt;resources&gt; &lt;!-- Base application theme. --&gt; &lt;style name=&quot;AppTheme&quot;...

Несколько надписей на кнопке - Программирование Android
Можно ли добавить на кнопку многострочный текст с разными шрифтами/размером?

Подсчет кликов по кнопке - Программирование Android
Добрый день, Казалось бы, простая задача, но никак не пойму как найти простое решение. Есть кнопка, текст на которой является...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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