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

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

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

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

01.07.2016, 16:59. Просмотров 138. Ответов 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;
    }
Заранее спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2016, 16:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В каждой нажатой Кнопке открывается каждый 5ий ответ (Программирование Android):

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

Движение Image по нажатой кнопке - C# ASP.NET
в WPF Подскажите как можно реализовать такое движение. Через потоки не получается. Пишет: Объект принадлежит другому потоку Через...

Получение информации о нажатой кнопке - Unity, Unity3D
Делаю редактор уровня. Есть список элементов, для выбора нужного необходимо нажать на кнопку. Мне нужно как-то обозначить &quot;выбранную&quot; в...

Собтия при нажатой кнопке - C++ Qt
Я немножко знаю Qt,а ситуация в следующем.У меня имеется окно программы, в нём кнопки,которые управляют устройством, при нажатии на кнопку...

Получить данные о нажатой кнопке - Visual Basic .NET
Здравствуйте. Имеются 2 формы. На первой форме имеются 18 кнопок. При нажатии на одну из кнопок открывается вторая форма. Вопрос, как при...

Нажатой кнопке задать BackgroundImage - C#
:)Привет всем! Появилась у меня проблеммка: Есть 12кнопок, надо каким-то способом узнать, какая была нажата, и установить ей...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2016, 16:59
Привет! Вот еще темы с ответами:

Действия при нажатой кнопке - C++
Мне нужно усуществить следующее условие если (клавиша зажата) то выполнять что то К примеру вызывается функция. Если...

Рисование при нажатой кнопке мыши - Delphi
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Canvas.MoveTo(X,Y);...

Событие MouseMove при нажатой кнопке - Delphi
Здравствуйте уважаемые программисты. Вот есть такой код: procedure TForm1.Panel1MouseLeave(Sender: TObject); begin ...

Узнать о нажатой кнопке в ходе работы программы - Delphi
Доброго дня суток! Как динамическим образом по ходу работы программы узнать о нажатой кнопке (Button) их несколько и нужно узнать какую...


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

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

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