我正在编写一个Android应用程序,其中一部分将是一个涉及多页复选框问题和答案的调查。我已经创建了一个活动来显示问题和选项(来自数据库),我现在想要做的是当我按下“下一步”按钮时,它应该只使用数据库中的下一个问题集重新加载当前活动。
(活动以survey.getNextQuestion()
开头 - 所以它只是一个刷新活动以便更新的情况)
我确定这是一个简单的事情 - 任何想法?
由于
答案 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
方法调用的函数中以及按下下一个按钮时。
不要忘记在刷新之前存储上一个问题的结果;)