Как установить таймер в android?

x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
z = dict(x.items() + y.items())
print z

Для объектов с ключами в обоих словарях ('b'), можно управлять, какой заканчивается в выводе путем помещения что одно последнее.

312
задан Awais Aslam 29 October 2019 в 21:50
поделиться

2 ответа

Я использую этот путь:

String[] array={
       "man","for","think"
}; int j;

затем ниже onCreate

TextView t = findViewById(R.id.textView);

    new CountDownTimer(5000,1000) {

        @Override
        public void onTick(long millisUntilFinished) {}

        @Override
        public void onFinish() {
            t.setText("I "+array[j] +" You");
            j++;
            if(j== array.length-1) j=0;
            start();
        }
    }.start();

это - простой способ решить эту проблему.

0
ответ дан 23 November 2019 в 01:10
поделиться

Я Абстрагирую Таймер далеко и сделал его отдельным классом:

Timer.java

import android.os.Handler;

public class Timer {

    IAction action;
    Handler timerHandler = new Handler();
    int delayMS = 1000;

    public Timer(IAction action, int delayMS) {
        this.action = action;
        this.delayMS = delayMS;
    }

    public Timer(IAction action) {
        this(action, 1000);
    }

    public Timer() {
        this(null);
    }

    Runnable timerRunnable = new Runnable() {

        @Override
        public void run() {
            if (action != null)
                action.Task();
            timerHandler.postDelayed(this, delayMS);
        }
    };

    public void start() {
        timerHandler.postDelayed(timerRunnable, 0);
    }

    public void stop() {
        timerHandler.removeCallbacks(timerRunnable);
    }
}

И Извлечение основное действие от Timer класс как

IAction.java

public interface IAction {
    void Task();
}

И я использовали его точно так же, как это:

MainActivity.java

public class MainActivity extends Activity implements IAction{
...
Timer timerClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
        ...
        timerClass = new Timer(this,1000);
        timerClass.start();
        ...
}
...
int i = 1;
@Override
public void Task() {
    runOnUiThread(new Runnable() {

        @Override
        public void run() {
            timer.setText(i + "");
            i++;
        }
    });
}
...
}

я Надежда Это Помогает 😊👌

0
ответ дан 23 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: