【问题标题】:android refresh/restart activity with updated variables带有更新变量的android刷新/重启活动
【发布时间】:2015-04-20 09:34:35
【问题描述】:

我正在制作一个测验应用程序,我希望通过按下上一个/下一个按钮来刷新我的“练习题”活动,并使用新问题进行自我更新。这些问题位于一个数组中,该数组位于单例“全局”类中。

我想更新/刷新活动,以便弹出一个新问题和一组答案(即,当按下上一个/下一个按钮时,计数器会增加/减少),但我不想重置单例类,它将重新随机化数组中的问题。有意地,每次从主屏幕访问活动时,它们都是随机的。我还有其他变量(即计数器、总数、标志)我想在每次传递到一个新问题时更新。

有人能指出正确的方向吗?

如果有帮助,按钮会在 XML 中创建和标识,Java 文件会用字符串填充按钮/文本视图。

【问题讨论】:

  • 在您的按钮上单击进行更改,您面临的问题是什么
  • 到底是什么问题?您在哪里遇到问题?
  • 另外一点,仅供参考,Google Play 商店中有大量与 FLAG 相关的应用程序!
  • 好吧,我尝试在按下上一个/下一个按钮时更新变量以显示新问题。我相应地增加/减少了问题数组计数器变量以及其他一些有用的变量,但我想我只是不知道如何实际更新活动 1)使用这些变量更改按钮/文本视图中的字符串,以及 2 )而不重新创建“全局”单例类的实例(这样做会重新随机化问题数组列表)。我希望用户能够使用下一个/上一个按钮在问题/答案之间移动...如何?

标签: java android android-activity refresh updates


【解决方案1】:

如果您只需要更新视图内的文本,则无需刷新Activity。相反,您可以编写一个updateViews() 方法并在按下上一个/下一个按钮时调用它。

例如:

private void updateViews(String question, String answerA, String answerB,
                         String answerC, String answerD) {
    TextView tvQuestion = (TextView) findViewById(R.id.question);
    TextView tvAnswerA = (TextView) findViewById(R.id.answer_a);
    TextView tvAnswerB = (TextView) findViewById(R.id.answer_b);
    TextView tvAnswerC = (TextView) findViewById(R.id.answer_c);
    TextView tvAnswerD = (TextView) findViewById(R.id.answer_d);

    tvQuestion.setText(question);
    tvAnswerA.setText(answerA);
    tvAnswerB.setText(answerB);
    tvAnswerC.setText(answerC);
    tvAnswerD.setText(answerD);
}

显然,您需要根据您的视图和数据调整此方法,并跟踪状态(当前问题编号等),但这应该让您了解前进的一种方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    相关资源
    最近更新 更多