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

Долгое нажатие кнопки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Равнозначность <Return true> и возврата конструктора суперкласса http://www.cyberforum.ru/android-dev/thread742119.html
Добрый день! Изучая уроки для Андроид-разработки из нового источника, встретил у автора следующий приём: Создавали примитивное меню. Метод onCreateOptionsMenu должен, естественно, возвращать булевое значение. Учитывая тот факт, что тело вышеуказанного метода крайне просто (несколько menu.add()), метод просто должен вернуть <true>. Автор предлагает сделать этот так: return...
Программирование Android Определение местонахождения (название населенного пункта) Всем привет. Мне надо реалозовать местонахождение планшета на карте, только мне надо получить не координаты, и название населенного пункта. Как это можно сделать? http://www.cyberforum.ru/android-dev/thread741561.html
Программирование Android Повторное использование кода
Доброго времени суток. Подскажите, пожалуйста, как повторно использовать вот такой код? То есть есть две кнопки, нажимая то на одну, то на другую, должен срабатывать этот код. Здесь идёт случайный выбор картинки, картинки выпадают без повторов. Так нужно сделать так, чтоб нажимая то button1, то button2 срабатывал только этот код. HashSet<Integer> set = new HashSet<Integer>(); int...
Программирование Android Обработка поворота экрана. Сохранение введенной информации
В приложении имеется n полей для ввода текста. Как правильно сохранять их количество введенную в них информацию при повороте экрана? Непосредственно сохранять строки в массив, и циклически воссоздавать их, по моему не самой хорошее решение.
Программирование Android Ошибка при запуске простого приложения http://www.cyberforum.ru/android-dev/thread741331.html
При запуске простейшего приложения вот что выводится в консоль: ------------------------------ Android Launch! adb is running normally. No Launcher activity found! The launch will only sync the application package on the device! Performing sync Automatic Target Mode: launching new emulator with compatible AVD 'Device1' Launching a new emulator with Virtual Device 'Device1'
Программирование Android LED индикаторы на андроиде Подскажите как ими можно программно управлять? подробнее

Показать сообщение отдельно
serg130191
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 13
24.12.2012, 14:37  [ТС]     Долгое нажатие кнопки
Спасибо, но я наверное, не так объяснил. Я предпологал, что есть какой-либо метод помимо LongClick, осуществляющий выполнение действия на протяжении нажатия (т.е. лог " Log.d("TAG","начать действие")" отображался бы не один раз, показывая тем самым начало действия после нажатия, а столько раз пока я не отпущу кнопку), но наверно немного "лажанулся )". Поэтому задам немного другой вопрос. Для организации выполнения действия во время нажатия, я выполняю цикл в onLongClick или реккурсию на самого себя (т.е. onLongClick в onLongClick-е) с определённым интервалом. Вопрос как выйти из цикла (реккурсии) (во время выполнения поограмма не реагирует на действия, а выполняет лишь цикл (реккурсию)). Переделаю ваш код (для цикла):
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
public class ManagerActivity extends Activity implements OnLongClickListener, OnTouchListener{
    
    Button but;
    boolean action=false;
    int val=0;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.manager);   
        
        but=(Button)findViewById(R.id.button1);
 
        but.setOnLongClickListener(this);
        but.setOnTouchListener(this);
 
    public boolean onLongClick(View v) {
        Log.d("TAG","начать действие");
        while(action)
        {
             Thread.sleep(500);
             val++;
         }
        return false;
    }
 
    @Override
        public boolean onTouch(View v, MotionEvent event) {
               switch(event.getAction()){
               case MotionEvent.ACTION_DOWN:
                       action=true;
                       break;
               case MotionEvent.ACTION_UP:
                       action=false;
                       break;
               default: break;
               }
               return false;
        }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru