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

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

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

Нажатие на Frame - Программирование Android

03.09.2016, 14:07. Просмотров 241. Ответов 9
Метки нет (Все метки)

Здравствуйте. Появилась проблема. У меня есть массив из идентификаторов Frame'ов
Java
1
int[] id ={R.id.kick, R.id.snare, R.id.crash, R.id.lowtom, R.id.hitom, R.id.ride, R.id.hihat};
Есть массив строковый
Java
1
String[] Text={"Press kick","Press Snare","Press Crash","Press Low Tom","Press Hi Tom","Press Ride","Press Hi Hat"};
Так же есть элемент TextView
Java
1
TextView comand = (TextView)findViewById(R.id.textView);
Текст в TextView генерируется случайным образом
Java
1
2
 id[i] = rd.nextInt(7);
           comand.setText(""+Text[id[i]]);
А проблема сама заключается в следующем. Как сделать проверку на то что пользователь нажал на тот фрейм который нужен.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2016, 14:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нажатие на Frame (Программирование Android):

Frame animation или как сделать анимацию - Программирование Android
Здравствуйте. Подскажите, пожалуйста, как сделать анимацию? У меня есть xml файл, создал под него папку anim и там создал этот...

Как отследить нажатие кнопки на Frame? - VBA
Привет, сабж. на листе есть Frame1. на нем кнопка cmdbtn1. как отследить событие, назовем его условно cmdbtn1_click??? не...

Как программно добавить Frame в другой существующий на форме frame? - VBA
Делаю это так: На форме лежит Frame1. на инициализации формы.... Dim mFrame As Object

Передача информации из одного Frame в другой Frame - C# WPF
Здравствуйте! У меня следующий вопрос: На окне есть первый Frame в котором несколько страниц. На одной из страниц первого Frame, а...

In a frame because it set 'X-Frame-Options' to 'SAMEORIGIN - HTML, CSS
http://rghost.ru/7hxl2VcQS.view Как ето исправить?

Обновление данных на Frame из другого Frame - Java
Помогите реализовать: есть MainFrame и SettingsFrame. Нужно что бы при нажатии Button на SettingsFrame обновилась (перерисовалась) таблица...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ExFau$t
274 / 249 / 43
Регистрация: 08.05.2012
Сообщений: 1,358
03.09.2016, 15:18 #2
я ничего не понял.

Java
1
frame.setOnClickListener()
vladdramachev
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 51
03.09.2016, 15:34  [ТС] #3
ExFau$t, У нас есть текстовое поле куда генерируется случайным образом строка (куда надо нажать пользователю). Затем нужно сделать проверку на то что пользователь нажал на фрейм с нужным идентификатором. Типа если да то счет увеличивается. А проблема в том что надо как-то сделать переменную куда будет записываться значение идентификатора который нажали и затем сравнить с тем идентификатором который нужен. Как это сделать?
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 317
03.09.2016, 15:41 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Создать OnClickListener, подписать на него все фреймы.
Ну и соответственно в OnClickListener сделать что-то подобное:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
View.OnClickListener myOnClickListener=new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.kick:
                    //тут пишем нужное действие
                    break;
                case R.id.snare:
                    //тут пишем нужное действие
                    break;
                case R.id.crash:
                    //тут пишем нужное действие
                    break;
                case R.id.lowtom:
                    //тут пишем нужное действие
                    break;
            }
 
           
        }
    };
vladdramachev
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 51
03.09.2016, 15:50  [ТС] #5
fraley, Немного не то. Проверку по идее при помощи if else. Просто как определить переменную в которой будет храниться id нажатого элемента.
Java
1
2
3
if(переменная нажатая==id[i]){
schet=schet+1;
}
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 317
03.09.2016, 16:08 #6
vladdramachev, ну так а в чем проблема то в case вместо того что я написал поставить к примеру id[0]?
vladdramachev
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 51
04.09.2016, 18:48  [ТС] #7
fraley, Слушай. Можешь посмотреть код пожалуйста? Просто я не пойму в чем ошибка
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
package com.example.user.drumpads;
 
 
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import java.util.Random;
 
 
public class MainActivity extends AppCompatActivity {
    FrameLayout fr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public int schet=0;
    public int[] id = {R.id.kick, R.id.snare, R.id.crash, R.id.lowtom, R.id.hitom, R.id.ride, R.id.hihat};
    public String[] Text ={"kick", "Snare", "Crash", "LowTom", "HiTom", "Ride", "HiHat"};
    public void KickClick() {
        MediaPlayer kick = MediaPlayer.create(this, R.raw.kick_default);
        kick.start();
 
    }
 
    public void SnareClick() {
        MediaPlayer snare = MediaPlayer.create(this, R.raw.snare_default);
        snare.start();
 
    }
 
    public void ClapClick(View v) {
        MediaPlayer clap = MediaPlayer.create(this, R.raw.clap_default);
        clap.start();
 
    }
 
 
    public void CrashClick() {
        MediaPlayer crash = MediaPlayer.create(this, R.raw.crash_default);
        crash.start();
 
    }
 
    public void HiHatClick() {
        MediaPlayer HiHat = MediaPlayer.create(this, R.raw.hihat_default);
        HiHat.start();
 
    }
 
 
    public void RideClick() {
        MediaPlayer Ride = MediaPlayer.create(this, R.raw.ride_default);
        Ride.start();
 
    }
 
    public void endscr(){
        Intent intent = new Intent(MainActivity.this, end.class);
 
        startActivity(intent);
    }
 
    public void TomClick() {
        MediaPlayer Tom = MediaPlayer.create(this, R.raw.tom_default);
        Tom.start();
    }
 
    protected void doInBackground(){
 
 
                    new CountDownTimer(30000, 1000) {
 
                        public void onTick(long millisUntilFinished) {
 
                        }
 
                        public void onFinish() {
                            endscr();
                        }
                    }.start();
 
            }
    public int Press;
    public int i;
public void random(){
    TextView comand = (TextView)findViewById(R.id.textView);
    Random rd = new Random();
    i = rd.nextInt(6);
    comand.append("Press "+Text[i]);
}
    View.OnClickListener MyClick=new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.kick:
                    Press=id[0];
                    KickClick();
                    break;
                case R.id.snare:
                    Press=id[1];
                    SnareClick();
                    break;
                case R.id.crash:
                    Press=id[2];
                    CrashClick();
                    break;
                case R.id.lowtom:
                    Press=id[3];
                    TomClick();
                    break;
                case R.id.hitom:
                    Press=id[4];
                    TomClick();
                    break;
                case  R.id.ride:
                    Press=id[5];
                    RideClick();
                    break;
                case  R.id.hihat:
                    Press=id[6];
                    HiHatClick();
                    break;
            }
        }
 
    };
    public void game() {
 
        schet=0;
        int sc=0;
        while (sc!=5) {
            random();
             while (Press!=id[i]){
                 fr.setOnClickListener(MyClick);
 
             }
            if (id[i] == Press) {
                schet ++;
            }
            sc++;
        }
        endscr();
    }
}
Программа открывается. А по нажатию на кнопку приложение закрывается и выводит на экран что оно остановлено.
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 317
04.09.2016, 20:12 #8
Цитата Сообщение от vladdramachev Посмотреть сообщение
приложение закрывается и выводит на экран что оно остановлено.
Код ошибки из logcat?
vladdramachev
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 51
05.09.2016, 11:05  [ТС] #9
fraley, Я его тестирую на телефоне. В андроид студио не получиться VTx нет

Добавлено через 14 минут
fraley, Просто если по логике посмотреть вроде вылетать не должна. Она должна была открыться->Пользователь нажимает на кнопку->запускается функция рандома->считывает нажатие пользователя->сравнивает->выводит результат
ExFau$t
274 / 249 / 43
Регистрация: 08.05.2012
Сообщений: 1,358
05.09.2016, 11:26 #10
vladdramachev, поставь телефон в режим разработчика и считывай лог по usb.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2016, 11:26
Привет! Вот еще темы с ответами:

Frame, Chrome, Blocked a frame with origin "null" - JavaScript
Здавствуйте, имеется следующий файл: <html> <head </head> <frameset cols="20%, *" > <frame src=panel.html scrolling=yes...

Не могу вывести в фрейм (<frame src='search.html' scrolling='auto'> <frame name='main' src='result.html' scrolling='auto'>) - JavaScript
Помогите решить такую проблему. У меня скрипт на JS обращается из одного фрейма (в котором форма запроса, search.html) к другому (main, в...

При нажатие нажатие на надпись в HTML менялась значение переменной php - PHP
Есть код HTML &lt;div class=&quot;fl_l people_cell&quot;&gt; &lt;a class=&quot;ava&quot; href=&quot;http://188.226.65.199/sample011.php&quot; onclick=&quot;&quot;&gt; ...

Отловить нажатие клавиши tab и выполнить программное нажатие enter - C++ Builder
Подскажите пожл как осуществить подобное действие, в принципе нажатие на клавишу enter я итак знаю как отловить но незнаю какой функцией...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.09.2016, 11:26
Ответ Создать тему
Опции темы

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