Your ints seconds, minutes and hours and so on are treated as resources. textView.setText() has two signatures, one takes a String, one an int to look up a resource. That's why you get the error :
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x38
03-25 17:06:03.166: E/AndroidRuntime(993): at android.content.res.Resources.getText(Resources.java:229)
You have to convert them to a String like this
String.valueOf(days);
Update
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TextView tv = new TextView(this);
setContentView(tv);
int hoursToGo = 0;
int minutesToGo = 0;
int secondsToGo = 30;
int millisToGo = secondsToGo*1000+minutesToGo*1000*60+hoursToGo*1000*60*60;
new CountDownTimer(millisToGo,1000) {
@Override
public void onTick(long millis) {
int seconds = (int) (millis / 1000) % 60 ;
int minutes = (int) ((millis / (1000*60)) % 60);
int hours = (int) ((millis / (1000*60*60)) % 24);
String text = String.format("%02d hours, %02d minutes, %02d seconds",hours,minutes,seconds);
tv.setText(text);
}
@Override
public void onFinish() {
tv.setText("Kabooom");
}
}.start();
}
}