【问题标题】:How to have different strings displaying different text each time user opens app?每次用户打开应用程序时,如何让不同的字符串显示不同的文本?
【发布时间】:2013-04-30 20:04:57
【问题描述】:

基本上,该应用程序会打开一个菜单,并在顶部显示 Welcome to bla bla。我想在他们每次打开应用程序时将其更改为不同的内容,以便下次它会说。 Bla bla很棒,你也是。下次它可能会显示不同的文本。基本上我希望能够创建一个字符串数组,并且每次用户打开应用程序/活动时,都会选择并显示一个随机字符串。如果有更好的方法通过字符串数组进行,我愿意接受建议。谢谢!!

【问题讨论】:

    标签: android eclipse string random


    【解决方案1】:

    您应该使用共享首选项,并且每次用户启动应用程序时显示另一个句子。

    您应该将这些句子保存在您的共享偏好中,并为 检索您在 str 数组中的索引。

    应该是这样的:

        String Sentences = "sen one, sen two, sen three, sen four";
    int counter = 0;
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = prefs.edit();
    editor.putString("sentences", Sentences);
    editor.putInt("counter", counter);
    editor.commit();
    

    在这里,您可以将句子和计数器保存在您的设备中。

    现在你如何获取当前句子并显示? 应该是这样的:

        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = prefs.edit()
    String sen = prefs.getString("sentences", "");
    int counter = prefs.getInt("counter", 0);
    String[] fetchArray= sen.split(",");
    
    //now you should display fetchArray[counter].
    tv_1.settext(fetchArray[counter] + "");
    
    counter = counter+1;
    
    if (counter == fetchArray[counter].length)
        counter = 0;
    
    editor.putInt("counter", counter);
    editor.commit();
    

    这应该可以正常工作。 晚安。

    【讨论】:

    • 谢谢,我去试试!
    【解决方案2】:

    构建一个字符串数组,每次随机选择一个。

    例如,这将生成一个介于 0 和 99 之间的随机数:

    Random ran = new Random();
    randomNum  = ran.nextInt(100);
    

    因此,您可以从数组中调用一个字符串:myArray.get(randomNum)

    【讨论】:

    • 谢谢,我将尝试共享偏好,如果我想这样做,我会牢记这一点。感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多