【发布时间】:2016-11-09 19:38:23
【问题描述】:
无法理解如何刷新/更新我的所有文本视图。它们位于 13 个不同的片段中,我无法以我想要的方式访问它们。
在简单的 Java 中,我得到了一个简单的游戏循环
//Game Loop
boolean GameLoop = true;
while(GameLoop){
CG.refresh();
}
在主课上我得到了这样的东西:
void refresh() {
Labels.MoneyLabel.setText("Money: " + CarMain.main[0]);
Labels.BoxesLabel.setText("Boxes: " + CarMain.main[2]);
}
这一切都奏效了。现在在 Android 中我无法更新我的文本视图。
在 Android 上,onCreate 方法使游戏循环变得简单
Thread t = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
Collections();
SaveFile();
Refresh();
}
});
}
} catch (InterruptedException e) {
}
}
};
t.start();
并想刷新类似的文本视图
公共无效刷新(){
TextView MoneyTXT = (TextView) rootView.findViewById(R.id.MoneyText);
MoneyTXT.setText("Money: " + Main.Money[0]);
TextView MoneyPerTapTXT = (TextView) rootView.findViewById(R.id.MoneyPerTapTView);
MoneyPerTapTXT.setText("$ " + Main.Money[1] + " per tap");
TextView BoxesTXT = (TextView) rootView.findViewById(R.id.BoxesText);
BoxesTXT.setText("Boxes: " + Main.Boxes[0]);
TextView BoxesPerTapTXT = (TextView) rootView.findViewById(R.id.BoxesPerTapTView);
BoxesPerTapTXT.setText("Points " + Main.Boxes[1] + " per tap");
}
但出现错误,因为 Textviews 位于不同的布局中。
【问题讨论】:
-
13 个片段?它们都同时显示吗?如果您一次更新 13 个片段,您可能做错了什么。
-
@nt-complete 不,不是一次,我只是不知道如何刷新其中的 1 个。那是打开的。我只是想知道,如何访问它们。
-
@nt-complete 举个简单的例子。得到整数 = 点击次数。在按钮点击时,我增加点击次数+1;并且 textview 需要在点击时更新。我想在点击时更新 textview,但不能因为点击方法在 mainActivity 中,而 textview 在布局片段中
标签: java android android-fragments