실시간 카운터를 작성하고 싶습니다. 스레드를 사용하려고했지만, 안드로이드에서만 액티비티 스레드가 뷰를 터치 할 수 있다고 경고했습니다. 나는 runOnUiThread
으로 해결책을 찾았지만 너무runOnUiThread, TextView 변경
public class CounterInRealTimeExampleActivity extends Activity {
private TextView textView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
textView = new TextView(this);
textView.setTag(new Integer(0));
layout.addView(textView);
setContentView(layout);
runOnUiThread(new Runnable() {
@Override
public void run() {
//while(true)
{
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
increment();
}
}
});
}
public void increment() {
textView.setTag(new Integer((Integer)textView.getTag())+1);
textView.setText(Integer.toString((Integer)textView.getTag()));
}
}
당신은 http://developer.android.com/reference/android/os/CountDownTimer.html을 시도 했습니까? – Calvin