代码之家  ›  专栏  ›  技术社区  ›  rhinds

重新加载Android活动数据

  •  1
  • rhinds  · 技术社区  · 15 年前

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

    (活动开始于 survey.getNextQuestion() -所以只需要刷新活动就可以更新)

    我肯定这是一件简单的事情-有什么想法吗?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  3
  •   Cheryl Simon    15 年前

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

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

    要打开新活动:

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

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

        2
  •  1
  •   Community CDub    8 年前

    我肯定这是一件简单的事情-有什么想法吗?

    是的,它很直。 Mayra's answer 也许是更好的,但是这里有一种方法可以实现您指定的功能。

    你可以使用 findViewByID(int) 识别 View 布局中需要更新的对象,并将结果分配给 onCreate 允许您稍后访问。

    例如。

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

    你的 survey.getNextQuestion() 显然可以用来回答下一个问题。

    然后可以通过操作 视图 你获得了 创建时的回调函数 .

    例如。

    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);
    

    所有这些功能都可以包含在由 创建时的回调函数 方法和按下下一个按钮时。

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