【问题标题】:How to show certain activity only 3 times in android? [closed]如何在android中仅显示3次某些活动? [关闭]
【发布时间】:2013-09-23 09:05:13
【问题描述】:

您好,我只想在 android 中显示一项活动 3 次。实际上它是一个对话框,如果用户拒绝它超过 3 次,它会询问用户一些建议,除非用户卸载并重新安装应用程序,否则该对话框将不会再次出现。

谁能建议我解决这个问题。

感谢任何帮助。

【问题讨论】:

  • 请显示一些代码,我们无法帮助atm。
  • 用一个共享的偏好管理它可能会起作用

标签: java javascript android


【解决方案1】:

这是用于有条件地显示对话框。我之前执行过类似的功能。您可以通过在sqlite 中添加一个计数变量来做到这一点。每次用户拒绝建议的对话框时,从数据库中获取条目,检查它是否小于或等于 3。如果小于 3,则显示对话框,通过将 count 变量递增 1 来更新数据库条目。否则,如果超过3个,则不显示对话框。

创建数据库并初始化变量:

SQLiteDatabase db=openOrCreateDatabase("MYDB", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS myTbl(Name VARCHAR,num VARCHAR);");
//Here, Name is the name of your counting variable and num is the value you want to store in it

String name="count";
String num="0";

String s="INSERT INTO myTbl VALUES ('"+name+"','"+num+"');";
db.execSQL(s);
Log.d("myapp", "Insertion of data successfull");
db.close();

使用这种方法的好处是,一旦应用程序被卸载,其对应的sqlite数据库也将被删除。因此,这将确保如果用户忽略对话框超过 3 次,则只要卸载并重新安装应用程序,对话框就不会启动。关于更新 sqlite 中的值,我希望您了解基础知识。

希望对你有所帮助

【讨论】:

    【解决方案2】:

    创建一个SharedPreferences,将0作为初始值保存在其中,用户拒绝时,将该值加1并保存在SharedPreferences中,一旦值达到3,就不要再次启动活动。您可以使用数据库而不是 sharedPreferences。

    【讨论】:

      【解决方案3】:

      您应该使用 SharedPreferences 来计算显示建议的值,例如 0 到 3。对于建议显示,您可以使用单独的布局并将其包含到您的主布局中。那么活动处理的复杂性就会降低。当布局显示 3 次时,通过将其可见性设置为 GONE,不应显示特定布局。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多