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

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

Восстановить пароль Регистрация
 
yoralbayev
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 3
23.10.2013, 12:36     как вызвать несколько функции #1
Добрый день
подскажите пожалуйста как можно вызвать функции в цикле 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;
         }
         
     }
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 12:36     как вызвать несколько функции
Посмотрите здесь:

Android Клиент bluetooth. как в кнопке правильно вызвать метод для подключения?
Как вызвать другой activity в android ? Android
Как из одного потока вызвать метод таким образом, чтобы он выполнялся в другом потоке Android
Android Edit text как вызвать клавиатуру виртуальную
Android Как в Android вызвать сообщение?
Android TextToSpeech, как вызвать speak несколько раз подряд?
Как из своего Андроид-приложения вызвать другое Android
Android Как вызвать Notification в Broadcast Receiver?
Android Как вызвать другой результат try-catch в методе?
Android Как вызвать другое активити в контексном меню
Android Как вызвать postInvalidate() из static метода?
Android Как вызвать метод только при последующих запусках приложения?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2013, 13:49     как вызвать несколько функции #2
не понятна суть проблемы, могу лишь предположить что нельзя повторно запустить уже запущенный CountDownTimer, что вы и пытаетесь сделать в своем цикле.
yoralbayev
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 3
23.10.2013, 15:40  [ТС]     как вызвать несколько функции #3
Цитата Сообщение от V0v1k Посмотреть сообщение
не понятна суть проблемы, могу лишь предположить что нельзя повторно запустить уже запущенный CountDownTimer, что вы и пытаетесь сделать в своем цикле.
аа как это можно решить?
У меня программе должно повторятся сколько сколько укажет на раунде
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2013, 17:00     как вызвать несколько функции #4
наверное в onFinish уменьшать число оставшихся раундов, потом проверять остались ли еще раунды, если да, то создаете опять таймер и запускаете.
Yandex
Объявления
23.10.2013, 17:00     как вызвать несколько функции
Ответ Создать тему
Опции темы

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