2014-04-10 84 views
0

有没有办法改变TextView的动态。 我有SharedPreferences,在“GameScreen”中可以。但我也想在“First Scree”(不是游戏)中给用户显示 。 的问题是,它改变只有当我关闭打开的应用程序动态改变TextView android

mGameSettings = getSharedPreferences(GAME_PREFERENCES, Context.MODE_PRIVATE); 
     TextView goldmenu = (TextView) findViewById(R.id.goldmenu); 
     goldmenu.setTextColor(getResources().getColor(R.color.gold_color)); 
     int curScore = mGameSettings.getInt(GAME_PREFERENCES_SCORE, 0); 
     String mmGold = String.valueOf(curScore); 
     goldmenu.setText(mmGold); 

(编辑)

+1

请更具体,并提供一些细节,你不知道的东西怎么你为什么要使用共享偏好都在一个TextView – Eluvatar

+0

呢!它的permenant数据...如果你正试图读取不同的活动中的值使用让我们说静态类常量......更具体一些,给一些细节,显示一些代码.... – laymelek

+0

我想你应该学习如何在活动之间切换并在它们之间发送数据。看到这个教程,它可能对你有用:http://www.android-ios-tutorials.com/117/how-to-switch-between-different-activities-in-android/ – Houcine

回答

0

是的,所有你需要做的是找到视图给它的资源ID。资源ID是在你的XML通过ID标签,类似设置,

<TextView 
    android:id="@+id/text_id" 
    .... 
    .... /> 

中的活动,您可以访问TextView的布局通过它的资源

TextView text = (TextView) findViewById(R.id."text_id"); 

,然后设置你的文字通过

text.setText("text string"); 

您还可以更改视图和布局参数

text.setBackgroundColor(Color.RED); 
text.setTextSize(12); 
//etc. 

LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(1, 1, 1, 1); 
//etc. 
text.setLayoutParams(params);