首页 > 解决方案 > 如何使活动无法访问或锁定?

问题描述

我即将制作一个包含多个级别的测验应用程序。现在每个级别都是一个 java 类,如果用户完成了在第一个 java 类上必须完成的操作,例如回答问题的示例,那么现在用户继续进行第二个 java 类(下一个问题)。

我的问题:在进行下一个 java 类之后,我不知道如何使第一个 java 类无法访问。

我尝试了什么:我尝试在网上搜索,但找不到任何答案,也许我只是找不到合适的术语。

标签: javaandroid

解决方案


在每个级别上首先检查上一个级别是否完成。在优先级成功完成级别集数据时,例如 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;
}

推荐阅读