functioning of onCreate() method in android?

  • Thread starter Android Central Question
  • Start date
A

Android Central Question

public class MainActivity extends AppCompatActivity {
private int seconds=0;
private boolean running;
TextView textView;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
runTimer();
}
private void runTimer(){

final Handler handler=new Handler();
handler.post(new Runnable() {
@override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format(Locale.getDefault(),
"%d:%02d:%02d", hours, minutes, secs);
textView.setText(time);
if (running) {
seconds++;
}
handler.postDelayed(this, 1000);
}
});
}
public void onClickStart(View view){
running=true;
}
public void onClickStop(View view){
running=false;
}
public void onClickReset(View view){
running=false;
seconds=0;
}
}
//public class MainActivity extends AppCompatActivity {
private int seconds=0;
private boolean running;
TextView textView;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
runTimer();
}
private void runTimer(){

final Handler handler=new Handler();
handler.post(new Runnable() {
@override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format(Locale.getDefault(),
"%d:%02d:%02d", hours, minutes, secs);
textView.setText(time);
if (running) {
seconds++;
}
handler.postDelayed(this, 1000);

}
});

}

public void onClickStart(View view){
running=true;

}
public void onClickStop(View view){
running=false;

}
public void onClickReset(View view){
running=false;
seconds=0;

}

}
public class MainActivity extends AppCompatActivity {
private int seconds=0;
private boolean running;
TextView textView;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
runTimer();
}
private void runTimer(){

final Handler handler=new Handler();
handler.post(new Runnable() {
@override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format(Locale.getDefault(),
"%d:%02d:%02d", hours, minutes, secs);
textView.setText(time);
if (running) {
seconds++;
}
handler.postDelayed(this, 1000);

}
});

}

public void onClickStart(View view){
running=true;

}
public void onClickStop(View view){
running=false;

}
public void onClickReset(View view){
running=false;
seconds=0;

}

}
public class MainActivity extends AppCompatActivity {
private int seconds=0;
private boolean running;
TextView textView;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
runTimer();
}
private void runTimer(){

final Handler handler=new Handler();
handler.post(new Runnable() {
@override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format(Locale.getDefault(),
"%d:%02d:%02d", hours, minutes, secs);
textView.setText(time);
if (running) {
seconds++;
}
handler.postDelayed(this, 1000);

}
});

}

public void onClickStart(View view){
running=true;

}
public void onClickStop(View view){
running=false;

}
public void onClickReset(View view){
running=false;
seconds=0;

}

}
//this code works fine .But I don't understand how runtimer() method gets called when i click start,stop or reset button because I am not calling runtimer() method from onclick methods but I am calling once from onCreate() method?
 

Trending Posts

Forum statistics

Threads
943,181
Messages
6,917,672
Members
3,158,868
Latest member
drkrleitch