【问题标题】:activity not displayed after the button is pressed, one-time activity with button按下按钮后不显示活动,带有按钮的一次性活动
【发布时间】:2021-03-09 14:10:07
【问题描述】:

如何在“启动屏幕”之后应该转到“关于程序”活动,它打开一次,然后单击“我阅读”按钮,转到“主活动”并返回根本不应该打开“关于程序” .如果你没有点击“关于程序”活动中的按钮,“关于程序”活动应该打开(直到按钮被按下)。如果您有此代码,请留下。谢谢。

新用户(未点击按钮) 启动画面 > 信息活动 |离开app,重试转app | 启动画面 > 信息活动

新闻用户(点击按钮) 启动画面 > 信息活动 > 主要活动 |离开app,重试转app | 启动画面 > 主要活动

【问题讨论】:

    标签: java android android-studio button android-activity


    【解决方案1】:

    您可以在共享首选项中保存一个布尔值。 如果它错误地将用户导航到信息活动。 在按钮上单击将 bool 值更改为 true。 如果为 true,则将用户导航到主要活动。

    在Splash中检查布尔值

    SharedPreferences sharedpreferences = getSharedPreferences("MyPref",Context.MODE_PRIVATE);
    
    boolean value= sharedpreferences .getBoolean('yourKey',false);
    
    if(!value){
    
    //navigate user to info activity
    
    }else{
    
    //navigate user to Main activity
    }   
    

    点击阅读按钮

    //............将布尔值设为真............

    SharedPreferences sharedpreferences = getSharedPreferences("MyPref",Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedpreferences .edit();
    editor.putBoolean("yourKey", true);
    editor.apply();
    

    【讨论】:

    • 有没有类似这个过程的代码副本
    • “预期有 2 个参数,但找到了 1 个”我有错误
    • 布尔值 = sharedpreferences.getBoolean("yourKey"),false);
    • 它的工作,非常感谢你;'-)
    【解决方案2】:

    使用短代码保存的最佳方式

    保存

     PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("KEY", true).apply();
    

    获取保存的布尔值

     boolean b = PreferenceManager.getDefaultSharedPreferences(context).getBoolean("KEY", false);
    

    【讨论】:

    • 尝试添加 youractivity.this 而不是 context
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 2021-11-28
    相关资源
    最近更新 更多