重新加载Android活动数据

时间:2010-05-23 17:32:20

标签: java android android-activity

我正在编写一个Android应用程序,其中一部分将是一个涉及多页复选框问题和答案的调查。我已经创建了一个活动来显示问题和选项(来自数据库),我现在想要做的是当我按下“下一步”按钮时,它应该只使用数据库中的下一个问题集重新加载当前活动。

(活动以survey.getNextQuestion()开头 - 所以它只是一个刷新活动以便更新的情况)

我确定这是一个简单的事情 - 任何想法?

由于

2 个答案:

答案 0 :(得分:3)

通常,您将为新问题启动活动的新实例。这样,如果用户回击,它具有将他们带回页面的逻辑行为。

可以更新相同的活动,但它更复杂。

开设新活动:

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

然后在onCreate方法中,您可以从数据库中提取下一个问题。

答案 1 :(得分:1)

  

我确定这是一个简单的事情 - 任何想法?

非常直接,是的。 Mayra's answer可能是更好的,但是这是一种可以实现您指定功能的方法。

您可以使用findViewByID(int)标识布局中需要更新的View个对象,并将结果分配给onCreate中的属性,以便稍后访问该属性

E.g。

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

您的survey.getNextQuestion()显然可用于解决下一个问题。

然后可以通过操纵您在View中获得的onCreate将问题放入用户界面。

E.g。

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

根据您可能需要以编程方式创建/删除布局中的复选框视图所需的答案数量

E.g。

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

所有这些功能都可以包含在onCreate方法调用的函数中以及按下下一个按钮时。

不要忘记在刷新之前存储上一个问题的结果;)