Эй, у меня проблемы с моей программой. Я хочу иметь макет, содержащий таймер в таймере, и кнопку выхода. Я успешно завершил таймеры, но проблема заключается в кодировании кнопки выхода, я думаю.Работа продолжается?
Вот мой код:
package com.MyCompany.MyApp;
import android.app.Activity;
import android.content.Intent;
import android.content.Context;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.MyCompany.MyApp.R;
public class Class1 extends Activity implements OnClickListener
{
Button btn_exit;
Intent i = new Intent(this, Class2.class);
Handler handler;
protected Context context = this;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handler = new Handler();
setContentView(R.layout.activity_class1);
btn_exit = (Button)findViewById(R.id.btn_exit);
btn_exit.setOnClickListener(this);
final TextView text4 = (TextView) findViewById(R.id.timer);
btn_exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
new CountDownTimer(45000, 1000) {
public void onTick(long millisUntilFinished) {
text4.setText("Seconds remaining: " + millisUntilFinished/1000);
}
public void onFinish() {
text4.setText("Time's up!");
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
Intent intent1 = new Intent(context, Class2.class);
startActivity(intent1);}
}.start();
}
}.start();
}
@Override
public void onClick(View v) {
}
}
Когда я запустить приложение и посмотреть таймер пройти весь путь вниз к нулю, второй пинки таймера в и отсчет с трех, как и положено, а затем программа завершает текущую деятельность и переключается на следующую. все нормально, но скажу, что я запустил приложение, наблюдаю, как таймер идет вниз, но решите в любой момент, когда я хочу нажать кнопку выхода, хотя он выходит из экрана и заканчивает действие, таймер по-прежнему переходит к обратному отсчету и переключитесь на Class2. Как я могу остановить это от этого?
действия имеют жизненные циклы, которые являются onPause() и onStop(), теперь на остановке, когда активность около b убита onpause, когда она перемещается в backstack и не отображается на экране .. так что все, что вы делаете, это когда либо onPause(), либо onStop() называется вы проверяете, по-прежнему ли таймер сбрасывается, тогда вы его убиваете, легко .. звучит законно? попробуйте это .. и позвольте мне knw – Elltz
Единственное, что мне нужно, чтобы получить некоторую информацию из текстового поля в Class1, чтобы я не мог точно уничтожить его, когда таймер закончится или когда нажата кнопка выхода. Вероятно, он должен быть приостановлен, если таймер заканчивается, но если пользователь нажимает на выход, тогда да, он убивает все, останавливая таймер. – TylerNormal