timer.scheduleAtFixedRate
で6秒ごとに数字をカウントアップしてtextView表示したいのですが、6秒後に落ちます。
ソースは下記のようにしています。
Timer timer =new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
//mSePlayer.play(mSound[1], 1.0f,1.0f,0,0,1.0f);
MainActivity.handler.post(new Runnable() {
@Override
public void run() {
textView=(TextView)findViewById(R.id.textView);
textView.setText(String.valueOf(countNum));
countNum++;
}
});run();
}
},0,TimeUnit.MILLISECONDS.toMillis(6000));
wrong threadによるhierarchy エラーですので
handler.postしてみたのですが、したのようなエラーが出ます。
・Handler()のインスタンスを生成できない、
・post(new Runnable()は型Handlerで未定義です
どう直せば良いでしょうか?何から何まですいません。お願いします。
static Handler handler = new Handler(); ←Handler()のインスタンスを生成できない
Timer timer =new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
//mSePlayer.play(mSound[1], 1.0f,1.0f,0,0,1.0f);
MainActivity.handler.post(new Runnable() { ←post(new Runnable()は型Handlerで未定義です
@Override
public void run() {
textView=(TextView)findViewById(R.id.textView);
textView.setText(String.valueOf(countNum));
countNum++;
}
});run();
}
},0,TimeUnit.MILLISECONDS.toMillis(6000));