2010-05-23 74 views
1

我正在編寫一個Android應用程序,其中的一部分將是一個涉及多頁複選框問題和答案的調查。我創建了一個活動來顯示問題和選項(來自數據庫),現在我想要做的是當我按下「下一步」按鈕時,它應該重新加載當前活動,並從數據庫中設置下一個問題。重新加載Android活動數據

(活動開始與survey.getNextQuestion() - 所以它只是刷新活動,以便它更新的情況下)

我敢肯定,這是一個簡單的事情 - 任何想法?

感謝

回答

3

通常你會開始活動的新實例的新問題。這樣,如果用戶退後,它會將他們帶回頁面的邏輯行爲。

可以更新相同的活動,但它更復雜。

要打開一個新的活動:

Intent intent = new Intent(this, MyActivity.class); 
intent.putExtra("nextQuestion", x); 
startActivity(intent); 

然後在您的onCreate方法,你可以拉從數據庫中下一個問題。

1

我確定這是一件簡單的事情 - 任何想法?

這是非常直接的,是的。 Mayra's answer也許是更好的一個,但是這裏是一個可以實現你指定的功能的方法。

您可以使用findViewByID(int)來識別佈局中需要更新的View對象,並將結果分配給onCreate中的屬性,以便您稍後再訪問它。

E.g.

aView = (View) findViewById(R.id.aview); 

您的survey.getNextQuestion()顯然可以用來得到下一個問題。

然後可以通過操縱您在onCreate中獲得的View將該問題置於UI中。

E.g.

aView.setText("your question/answer"); 

根據您可能需要編程從佈局

例如創建/刪除複選框,查看答案的數目

ViewGroup yourViewGroup = findViewById(R.id.yourviewgroup); 
View yourView = new View(); 
//Configure yourView how you want 
yourViewGroup.addView(yourView); 
youViewGroup.removeView(yourView); 

所有這些功能可以被包含在一個由該方法onCreate調用並當按下下一個按鈕功能。

不要忘記保存刷新前的前一個問題的結果;)