안드로이드 개발 질문/답변
(글 수 45,052)
매초마다 숫자를 카운팅 하려고 하는데요.. 한번은 출력이 됩니다. result : 1 이렇게요. 근데 2번째 호출할때면 그냥 앱이 죽어버립니다.
이유를 알수가 없습니다. 고수님들 왜 저기 2번째 호출엔 죽을까요?
package com.example.revive2;
import java.util.Timer;
import java.util.TimerTask;
import android.os.Bundle;
import android.provider.Settings;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
public class Revive2 extends Activity {
TimerTask connect;
int i=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_revive2);
pin();
// connect();
}
public void pin(){
Timer timer = new Timer();
connect = new TimerTask() {
public void run() {i++;
TextView ret = (TextView)findViewById(R.id.et);
ret.setText("result : "+i);
}
};
timer.schedule(connect,0,1000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_revive2, menu);
return true;
}
}
TextView ret = (TextView)findViewById(R.id.et); 이부분을 onCreate에서 실행하고
ret라는 변수는 전역변수로 지정하세요
그럼에도 불구하고 오류가난다면 setText하는 부분이아닌곳에 에러가있겠죠