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

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

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

как вызвать несколько функции - Программирование Android

23.10.2013, 12:36. Просмотров 471. Ответов 3
Метки нет (Все метки)

Добрый день
подскажите пожалуйста как можно вызвать функции в цикле for
я делаю программу для тренировки
есть 3 время: время подготовки, отдыха, и тренировки и еще есть раунд
я писал 3 таймера если вызвать их отдельно то работает а если вызвать в цикле всех вместо то не работает
Вот код:

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
public class MainActivity extends Activity implements OnClickListener {
 
    Button btnstart;
    Button btnabout;
     EditText prep_time;
     EditText rest_time;
     EditText work_time;
     EditText rounds;
     TextView result_time;
     int work_time1 = 0;
     int prep_time1 = 0;
     int rest_time1 = 0;
     int rounds1 = 0;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
 
      btnstart = (Button) findViewById(R.id.btnstart);
      btnabout = (Button) findViewById(R.id.btnabout);
      prep_time = (EditText) findViewById(R.id.prep_time);
      rest_time = (EditText) findViewById(R.id.rest_time);
      work_time = (EditText) findViewById(R.id.work_time);
      rounds = (EditText) findViewById(R.id.rounds);
      result_time = (TextView) findViewById(R.id.result_time);
 
      btnstart.setOnClickListener(this);
      btnabout.setOnClickListener(this);
 
     }
 
     public void starttime() {
      work_time1 = (int) Float.parseFloat(work_time.getText().toString());
      prep_time1 = (int) Float.parseFloat(prep_time.getText().toString());
      rest_time1 = (int) Float.parseFloat(rest_time.getText().toString());
      rounds1 = (int) Float.parseFloat(rounds.getText().toString());
            //timer work
      CountDownTimer workCountDownTimer = new CountDownTimer(
        work_time1 * 1000, 100) {
       public void onTick(long millisUntilFunished) {
        result_time.setText(String.valueOf(millisUntilFunished / 1000)
          + " s");
 
       }
 
       public void onFinish() {
        result_time.setText(rest_time1 + "");
 
       }
      };
        //timer otdixa
      CountDownTimer restCountDownTimer = new CountDownTimer(
        rest_time1 * 1000, 100) {
       public void onTick(long millisUntilFunished) {
        result_time.setText(String.valueOf(millisUntilFunished / 1000)
          + " s");
 
       }
 
       public void onFinish() {
        result_time.setText(work_time1 + "");
 
       }
 
      };
    //timer podgotovki
      CountDownTimer prepCountDownTimer = new CountDownTimer(
        prep_time1 * 1000, 100) {
       public void onTick(long millisUntilFunished) {
        result_time.setText(String.valueOf(millisUntilFunished / 1000)
          + " s");
 
       }
 
       public void onFinish() {
        result_time.setText(work_time1 + "");
 
       }
      };
 
      prepCountDownTimer.start();
 
      for (int i = 0; i < rounds1; i++) {
 
       if (i != rounds1) {
 
        workCountDownTimer.start();
        restCountDownTimer.start();
 
       } else {
        result_time.setText("Kuttiktaim");
 
       }
      }
 
     }
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
     }
 
     @Override
     public void onClick(View view) {
      // TODO Auto-generated method stub
         
         switch(view.getId()) {
            
         case R.id.btnabout:
              Intent intent = new Intent(this, About.class);
              startActivity(intent);
              break;
         case R.id.btnstart:
             starttime();
              break;
         }
         
     }
 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 12:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как вызвать несколько функции (Программирование Android):

TextToSpeech, как вызвать speak несколько раз подряд? - Программирование Android
С основами разобрался... &quot;говорить&quot; умею... Пользуюсь tts.speak(&quot;hello!&quot;, TextToSpeech.QUEUE_FLUSH, null); Теперь хочу вызывать...

Как вызвать календарь? - Программирование Android
Доброго времени суток. Хочу вызвать календарь по нажатии списка, например, ListView. Подскажите, как это можно реализовать? ...

Как в Android вызвать сообщение? - Программирование Android
Как в Android вызвать что то похожее на MessageBox.Show()?

Как вызвать postInvalidate() из static метода? - Программирование Android
Мне надо из static метода некоего класса (вызывается из native-приложения на Qt) вызвать обновление экрана Android. Метод строго static,...

Как вызвать Notification в Broadcast Receiver? - Программирование Android
нужно чтобы по событию в классе Broadcast Receiver, а точнее в методе onReceive() запустить метод уведомления например такое...

Как вызвать другой activity в android ? - Программирование Android
Как вызвать другой activity в android ??? Добавлено через 1 минуту @Override public void onClick(View v)...

3
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2013, 13:49 #2
не понятна суть проблемы, могу лишь предположить что нельзя повторно запустить уже запущенный CountDownTimer, что вы и пытаетесь сделать в своем цикле.
0
yoralbayev
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 3
23.10.2013, 15:40  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
не понятна суть проблемы, могу лишь предположить что нельзя повторно запустить уже запущенный CountDownTimer, что вы и пытаетесь сделать в своем цикле.
аа как это можно решить?
У меня программе должно повторятся сколько сколько укажет на раунде
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2013, 17:00 #4
наверное в onFinish уменьшать число оставшихся раундов, потом проверять остались ли еще раунды, если да, то создаете опять таймер и запускаете.
0
23.10.2013, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 17:00
Привет! Вот еще темы с ответами:

Edit text как вызвать клавиатуру виртуальную - Программирование Android
Есть EditText скрытый = GONE... и И по на жатию на button я EditText присваиваю = VISIBLE; но на нем нету фокуса сразу... Таки как на него...

Как вызвать другой результат try-catch в методе? - Программирование Android
Как вызвать другой результат try-catch в методе doInBackground? ПС: Приложение для андроид, есть типо такого @Override ...

Как из своего Андроид-приложения вызвать другое - Программирование Android
Всем привет. Собственно из названия все понято . Вот у меня есть приложение и мне нужно чтобы оно вызывало настройки телефона и еще другие....

Как вызвать private class из public метода - Программирование Android
Задача обновить блок try..catch после возобновления Painting'a private class LoadFeedTaskUrl extends AsyncTask&lt;URL, Void,...


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

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

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