我有一个入口布局需要看3秒钟。如果我启动该应用程序它会保持3秒并且activity
更改,那没关系,但问题是,如果我在使用应用程序时通过智能手机的背压回到此activity
{ {1}} 3秒后无法更改。我是新人,无法找到问题?请你帮助我好吗 ?谢谢
avtivity
答案 0 :(得分:1)
onCreate
将仅在您的活动创建时首次执行,但当您返回此活动时,onCreate
将不会再次执行。
override
中的onstart
Activity
方法,并将您的代码移到onstart
EditText mTextField;
ImageView mImageView;
// ^^^^ declare views references
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a1cover_page);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.a0action_bar);
mTextField = (EditText) findViewById(R.id.editText);
mImageView = (ImageView) findViewById(R.id.imageView);
// ^^^ initialize views
}
@Override
protected void onStart() {
super.onStart();
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText(" Loading... ");
mImageView.setImageResource(R.drawable.amblem);
}
public void onFinish() {
Intent intent = new Intent(A1CoverPage.this, A2ExperimentCalibration.class);
startActivity(intent);
}
}.start();
}
改进:在课堂中声明您的观点并在onCreate
中初始化它们,而不是每次在计时器匿名课程中将其内化
答案 1 :(得分:0)
将您的CountDownTimer
内部onStart()
方法移至与此类似的内容:
@Override
public void onStart() {
super.onStart();
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
EditText mTextField = (EditText) findViewById(R.id.editText);
mTextField.setText(" Loading... ");
ImageView mImageView = (ImageView) findViewById(R.id.imageView);
mImageView.setImageResource(R.drawable.amblem);
}
public void onFinish() {
Intent intent = new Intent(A1CoverPage.this, A2ExperimentCalibration.class);
startActivity(intent);
}
}.start();
}