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

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

Войти
Регистрация
Восстановить пароль
 
mrmelhay
0 / 0 / 0
Регистрация: 02.01.2015
Сообщений: 4
01.07.2016, 16:59     В каждой нажатой Кнопке открывается каждый 5ий ответ #1
Всем привет
Подскажите новичку пожалуйста ошибку.
Маленькая приложения загадки 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 Рисование на кнопке
Установка фона кнопке Android
Android Поменять текст в кнопке фейсбука
Подсчет кликов по кнопке Android
Android Несколько надписей на кнопке
Android Как поменять цвет нажатой кнопки в runtime?
Android Анимация по кнопке
Получить текст с нажатой кнопки Android
Применить стиль к кнопке Android
Обработка удерживания кнопки нажатой Android

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

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

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