onBackPressed()
方法被調用時,我不得不在onCreate()
方法內寫入onBackPressed();
。我知道這個方法是有效的,因爲當我註釋掉它的時候,它的效果就被刪除了(即,即使其他活動被調用,也會從MainActivity中退出程序)。Android的onBackPressed()方法如何在未明確在MainActivity中調用的情況下調用?
此外,如果我輸入onBackPressed();
到MainActivity中,那麼它將無法工作。我真的很困惑,爲什麼onBackPressed()
方法沒有我必須調用該方法。對不起,如果我沒有正確地說出問題,我希望我做到了!並提前致謝!
public class MainActivity extends ActionBarActivity{
private Button button;
private Button button2;
private ImageView im;
private ImageView im2;
private boolean doubleBackToExitPressedOnce = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
@Override
public void onBackPressed(){
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
public void changeColor() {
button = (Button) findViewById(R.id.button);
im = (ImageView) findViewById(R.id.imageView2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
im.setBackgroundColor(Color.rgb(255,255,255));
}
});
}
}
onBackPressed被稱爲當用戶按下後面的鍵。這個調用是由框架完成的。 '我知道這個方法有效,因爲當我將它註釋掉時,它的效果就被刪除了(即,即使其他活動被調用,也會從MainActivity中退出程序)。另外,如果我輸入onBackPressed();進入MainActivity,那麼它將無法工作「完全不清楚。 – Kishore
提供的所有答案都非常有意義。感謝你們!!! –