有没有办法动态更改TextView。 我有SharedPreferences,它可以在" GameScreen"中使用。但我也希望向用户显示分数 在" First Scree"(不是游戏屏幕)。 问题是它只有在我关闭打开的应用程序时才会改变
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);
(编辑)的
答案 0 :(得分:0)
是的,您需要做的就是找到给定资源ID的视图。资源ID通过id标记在xml中设置,例如
<TextView
android:id="@+id/text_id"
....
.... />
在您的活动中,您可以通过它的资源
访问布局中的TextViewTextView 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);