我在 android 应用程序中进行了测验,其中包含用户单击其中一个问题并回答它的问题列表,然后通过单击下一个按钮转到下一个问题,或者现在根据列表问题编号给出的正确/错误答案返回到列表问题突出显示为绿色或红色,灰色是其默认颜色。根据我的选择,所有这些都可以正常工作,但我想在不同的活动以及用户退出应用程序时保持突出显示的状态。
请大家帮帮我,因为我正因为这个原因而错过了正式的截止日期?
我在 android 应用程序中进行了测验,其中包含用户单击其中一个问题并回答它的问题列表,然后通过单击下一个按钮转到下一个问题,或者现在根据列表问题编号给出的正确/错误答案返回到列表问题突出显示为绿色或红色,灰色是其默认颜色。根据我的选择,所有这些都可以正常工作,但我想在不同的活动以及用户退出应用程序时保持突出显示的状态。
请大家帮帮我,因为我正因为这个原因而错过了正式的截止日期?
我假设您有一个类,我们可以调用它Question
,并且您将拥有一个boolean correctAnswer
您设置为的类true/false
。现在让您的类Question
实现Serializable
,这样您就可以将它们保存Questions
在 中FileSystem
,或者您可以将它们存储在其中SQLiteDatabase
并且不需要实现Serializable
(您的选择)。
现在,即使重新启动应用程序,您的应用程序中的这些数据也会保持一致,因此您可以加载问题列表并检查boolean correctAnswer
,以便为Question
您的ListView
.
编辑:我只是你的答案有三个状态。因此,boolean correctAnswer
您可以添加int answered
where
未回答 = 0
回答错误 = 1
回答正确 = 2
使用 SharedPreferences 作为,
保存:
SharedPreferences settings;
SharedPreferences.Editor editor;
public static final String PREFS_NAME = "app_pref";
public static final String KEY_p_id = "KEY_test";
settings = getSharedPreferences(PREFS_NAME, 0);
editor = settings.edit();
editor.putString(Login_screen.KEY_test, values.get(0));
editor.commit();
去除:
editor.remove("KEY_test").commit();
根据您的要求在您的应用程序中使用它。