0
我是新來的Android編程,我試圖找出如何使用startActivity打開另一個屏幕後返回到前一個屏幕/活動。從我所做的所有研究中,使用finish()方法應該在當前屏幕之前顯示前一個屏幕;然而,在我的測試程序中(有四個屏幕有「下一個」&「後退」按鈕),當按下後退按鈕時,它會一直跳回到第一個屏幕,而不是轉到上一個屏幕。回到以前的屏幕
任何幫助,這將不勝感激。我的代碼如下:
public class Screen1 extends Activity implements OnClickListener {
private Button next;
private Button quit;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen1);
next = (Button) findViewById(R.id.next);
quit = (Button) findViewById(R.id.quit);
next.setOnClickListener(this);
quit.setOnClickListener(this);
}
public void onClick(View view) {
switch(view.getId()) {
case R.id.next: {
startActivity(new Intent(this, Screen2.class));
}
case R.id.quit: {
finish();
}
}
}
}
public class Screen2 extends Activity implements OnClickListener {
private Button next;
private Button back;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen2);
next = (Button) findViewById(R.id.next);
back = (Button) findViewById(R.id.back);
next.setOnClickListener(this);
back.setOnClickListener(this);
}
public void onClick(View view) {
switch(view.getId()) {
case R.id.next: {
startActivity(new Intent(this, Screen3.class));
}
case R.id.back: {
finish();
}
}
}
}
public class Screen3 extends Activity implements OnClickListener {
private Button next;
private Button back;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen3);
next = (Button) findViewById(R.id.next);
back = (Button) findViewById(R.id.back);
next.setOnClickListener(this);
back.setOnClickListener(this);
}
public void onClick(View view) {
switch(view.getId()) {
case R.id.next: {
startActivity(new Intent(this, Screen4.class));
}
case R.id.back: {
finish();
}
}
}
}
public class Screen4 extends Activity implements OnClickListener {
private Button back;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen4);
back = (Button) findViewById(R.id.back);
back.setOnClickListener(this);
}
public void onClick(View view) {
finish();
}
}
}
'返回' 按鈕,在Android設備上默認情況下做這種行爲的爲您服務。是否有任何理由需要在應用程序中使用明確的後退按鈕?有可能你不需要它。 – smith324 2010-09-05 20:49:44
不,我真的不需要它,只是覺得除了設備上的後退按鈕之外,還有它會很好。但是,設備上的後退按鈕也會發生同樣的情況。活動是否有可能被保存在堆棧中?我正在使用Eclipse Helios v。3.6。 – steevo 2010-09-06 00:58:21