2013-05-07 32 views
-1

基本上,应用程序打开菜单,并在顶部说欢迎来到bla bla。每次他们打开应用程序时,我都希望改变这种情况,以便下次再说。 Bla bla真棒,你也是。下次它可能会显示不同的文字。基本上我希望能够创建一个字符串数组可能和每次用户打开应用程序/活动,随机字符串被选中并显示。如果有更好的方式来通过字符串数组,我很乐意提供建议。谢谢!!如何在每次用户打开应用程序时使不同的字符串显示不同的文本?

回答

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(); 

这应该很好地工作。 晚安。

+0

谢谢,我会试试它! – jacobohunter 2013-05-07 01:02:49

1

建立你的字符串数组,并且每次选择一个随机数。

例如,这会产生一个随机数从0到99:

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

所以,你可以调用与阵列的字符串:myArray.get(randomNum)

+0

谢谢,我将尝试共享偏好,如果我想要这样,我会牢记这一点。我很感谢你的回答 – jacobohunter 2013-05-07 01:03:21

相关问题