2016-03-23 2 views
0

Мне нужно собрать данные на интервале, здесь сбор данных моделируется с помощью целочисленного числа. Кажется, я не могу собрать это целое число. Мне нужно, чтобы сборка начиналась после нажатия кнопки и заканчивается при нажатии на другую. Есть идеи?Как использовать таймер в Android?

package com.example.test.gothedistance; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import java.util.Timer; 
import java.util.TimerTask; 

public class MainActivity extends AppCompatActivity { 

Button start, stop; 
TextView sumText; 
int count; 
Timer t; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    start = (Button) findViewById(R.id.startButton); 
    stop = (Button) findViewById((R.id.stopButton)); 
    sumText = (TextView) findViewById(R.id.sumTV); 
    t = new Timer(); 
    count = 0; 




    t.scheduleAtFixedRate(
      new TimerTask() 
      { 
       public void run() 
       { 
        count++; 

       } 
      },0,2000); 

    stop.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      t.cancel(); 
      sumText.setText(count); 
     } 
    }); 
} 
} 
+0

Я думаю, что вы ищете что-то вроде этого: http://android-er.blogspot.com.es/2013/12/example-of- using-timer-and-timertask-on.html надеюсь, что это поможет! –

+1

Я бы также сказал, что Timer обычно не используется в Android, обычно это либо сигнал тревоги, либо сообщение с задержкой для обработчика. –

ответ

1

Проблема, скорее всего, с линией sumText.setText(count), которая использует TextView.setText(int resid). Это означает, что он ищет идентификатор, равный count, вместо отображения значения count. Вы должны преобразовать это значение в целое число первых:

sumText.setText(Integer.toString(count)) 
+0

О, боже, это неловко (я использовал язык, который бы позаботился об этой проблеме автоматически: б) –

Смежные вопросы