Обновление TextView с помощью таймера
Я пишу игру жанра "кликер" и хочу сделать функцию с "пассивным доходом". У меня получилось сделать прибавление каждую секунду с помощью таймера, но никак не получается обновлять TextView каждую секунду. Я пытался придавать TextView значение через таймер, но при примерно такой реализации:
Timer timer1 = new Timer();
int begin1 = 0;
int timeInterval1 = 1000;
static public int mymoney = 100;
static public TextView moneyview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
moneyview = (TextView) findViewById(R.id.viewmoney);
timer1.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
moneyview.setText(mymoney + " ");
}
}, begin1, timeInterval1);
}
программа крашится, причем я ставил задержку в пять секунд, и крашилось именно при использовании
moneyview.setText(mymoney + " ");
при этом в
clickmoney.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mymoney += moneytoclick;
moneyview.setText(mymoney + " ");
все работает корректно и при нажатии кнопки счетчик обновляется. Что делать - не знаю, по идее можно как то через потоки реализовать, но хочется по простому, через таймер)
Ответы (1 шт):
Автор решения: DrMcSheen
→ Ссылка
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
moneyview = (TextView) findViewById(R.id.viewmoney);
new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
moneyview.setText(mymoney + " ");
}
public void onFinish() {
}
}.start();
}