【发布时间】:2012-05-02 12:19:13
【问题描述】:
我对@987654321@ 很陌生。我以前用过Java,但大约一年半没用过。我在更新屏幕时遇到问题,或者更确切地说是TextView。我在网上看了几个小时的解决方案,我有点知道为什么它不起作用,但我不知道如何解决它。
public class PreliminaryActivity extends Activity {
//private static final int MENU_QUIT = Menu.FIRST;
int i = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getWindow().setBackgroundDrawableResource(R.drawable.background);
mainComputations();
}
public void mainComputations(){
runOnUiThread(new Runnable(){
//@Override
public void run(){
TextView tv = (TextView) findViewById(R.id.time_display);
tv.setText(new Integer(i).toString());
i++;
}
});
}
我已经削减了我的程序,所以它应该只在屏幕上增加一个 int 值以进行测试,但它仍然无法工作。相反,它只显示“0”。如果我在 runOnUiThread() 方法之前添加一个 for 循环,它将增加 i 值,但我感觉它只是增加值然后显示它而不是实时更新。任何帮助将不胜感激。
【问题讨论】:
-
更清楚您希望代码做什么。
-
我只是想让 i 值在屏幕上明显增加。我现在正在查看 AsyncTask 代码。