2012-05-28 167 views
1

我有一個Android應用程序,它以一個簡單的屏幕和一個「開始」按鈕開始。一旦用戶點擊按鈕,它會從網址中檢索代碼並將其放入列表中。如果您從列表視圖中按回來,它將顯示一個空白屏幕,而不是帶有「開始」按鈕的屏幕。所有的代碼都在onCreate語句中。請原諒我,如果我錯過了顯而易見的這是我的第一個真正的Android應用程序(除了Hello Android教程)。如果有幫助,以下是第一項活動中的代碼。Android應用程序後退按鈕顯示空白屏幕

public class Main extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button next = (Button) findViewById(R.id.butQR); 
    next.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      setContentView(R.layout.listplaceholder); 
      Intent myIntent = new Intent(view.getContext(), NewListActivity.class); 
      myIntent.putExtra("race_id", view.getId()); 
      myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(myIntent); 
     } 

    }); 
} 

更新:我は使用的setContentView(R.layout.listplaceholder);點擊按鈕並在下一個活動的新創建中。謝謝您的幫助。

回答

1

從你所提到的,它似乎並不像你需要的意圖標誌。 設置FLAG_ACTIVITY_CLEAR_TOP標誌時,如果要啓動的活動已在運行,則其上的所有其他活動都將被關閉,以便所調用的活動(已在運行並處於堆棧中)現在處於最高狀態。現在,當您按下後退按鈕時,它應該轉到之前正在運行的活動,但由於您的主要活動由於該標誌而關閉,因此您會看到一個空白屏幕。

2

您不應該爲子活動創建新任務,而且我也沒有理由清除任務堆棧的頂部。如果您不希望在用戶返回時顯示開始活動,則可以在開始新活動後簡單地使用finish()

相關問題