java - 如何使活动无法访问或锁定?
问题描述
我即将制作一个包含多个级别的测验应用程序。现在每个级别都是一个 java 类,如果用户完成了在第一个 java 类上必须完成的操作,例如回答问题的示例,那么现在用户继续进行第二个 java 类(下一个问题)。
我的问题:在进行下一个 java 类之后,我不知道如何使第一个 java 类无法访问。
我尝试了什么:我尝试在网上搜索,但找不到任何答案,也许我只是找不到合适的术语。
解决方案
在每个级别上首先检查上一个级别是否完成。在优先级成功完成级别集数据时,例如 level-1=true 在调用下一个级别之前检查上一个级别的值是否为真,如果为真则继续,否则给出错误。
//set level value to true after completion of level
setBoolean(getApplicationContext(),"Level1",true);
//check previous level value when calling next level
level2.onClick{
if(getBoolean(getApplicationContext(),"Level1")){
//start next level
} else {
//give error
}
}
public static void setBoolean(Context context, String key, Boolean Value) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor sEdit = sharedPreferences.edit();
sEdit.putBoolean(key, Value);
sEdit.commit();
}
public static Boolean getBoolean(Context context, String key) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
Boolean value = sharedPreferences.getBoolean(key, false);
return value;
}
推荐阅读
- selenium - 在没有部署和外部服务的情况下,在持续集成管道中测试所有隔离的 Web 应用程序
- kml - KML 线串长度
- python - 有哪些方法可以直接通过 django admin 更改站点的横幅图像?
- javascript - 来自mysql数据库的PHP动态图表数据
- html - 为什么我的 html 图像 scr 搜索的是 url 而不是我的目录?
- visual-studio - unity Camera 垂直滚动效果
- java - SASL_SSL 安全协议如何工作?客户端是否验证服务器(X.509 证书)?
- android - 有没有一种有效的方法将 Firebase 数据存储在 arraylist 中然后读取它?
- bash - 在 IFS 命令后读取时,奇怪的错误值对于基础来说太大了
- deserialization - YamlDotNet 可以反序列化为动态对象图吗?