我正在編寫一個Android應用程序,其中的一部分將是一個涉及多頁複選框問題和答案的調查。我創建了一個活動來顯示問題和選項(來自數據庫),現在我想要做的是當我按下「下一步」按鈕時,它應該重新加載當前活動,並從數據庫中設置下一個問題。重新加載Android活動數據
(活動開始與survey.getNextQuestion()
- 所以它只是刷新活動,以便它更新的情況下)
我敢肯定,這是一個簡單的事情 - 任何想法?
感謝
我正在編寫一個Android應用程序,其中的一部分將是一個涉及多頁複選框問題和答案的調查。我創建了一個活動來顯示問題和選項(來自數據庫),現在我想要做的是當我按下「下一步」按鈕時,它應該重新加載當前活動,並從數據庫中設置下一個問題。重新加載Android活動數據
(活動開始與survey.getNextQuestion()
- 所以它只是刷新活動,以便它更新的情況下)
我敢肯定,這是一個簡單的事情 - 任何想法?
感謝
通常你會開始活動的新實例的新問題。這樣,如果用戶退後,它會將他們帶回頁面的邏輯行爲。
可以更新相同的活動,但它更復雜。
要打開一個新的活動:
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("nextQuestion", x);
startActivity(intent);
然後在您的onCreate方法,你可以拉從數據庫中下一個問題。
我確定這是一件簡單的事情 - 任何想法?
這是非常直接的,是的。 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
調用並當按下下一個按鈕功能。
不要忘記保存刷新前的前一個問題的結果;)