Java 更新UI线程在android中工作不正确

Java 更新UI线程在android中工作不正确,java,android,multithreading,Java,Android,Multithreading,我想在一些计算之后更新UI字段。但它错了 SolvePuzzle sp = new SolvePuzzle(table); solved_puzzle = sp.Solve(); 计算Solve()函数后,保存在solved\u puzzle中的结果应显示在应用程序界面上。 要设置该值,我使用set\u values()函数: set_values(solved_puzzle); 在set_values()函数中,我将设置UI元素: private void set_values(int

我想在一些计算之后更新UI字段。但它错了

 SolvePuzzle sp = new SolvePuzzle(table);
 solved_puzzle = sp.Solve();
计算
Solve()
函数后,保存在
solved\u puzzle
中的结果应显示在应用程序界面上。 要设置该值,我使用
set\u values()
函数:

set_values(solved_puzzle);
set_values()
函数中,我将设置UI元素:

private void set_values(int[][] solved_puzzle1) {
    final int[][] solved_puzzle = solved_puzzle1;

    System.out.print(solved_puzzle1[0][0]);


    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            t1.setText(String.valueOf(solved_puzzle[0][0]));
        }
}
现在
System.out.print(解决了_难题1[0][0])输出,例如
1
,但t1值为
0


你知道我该怎么做吗?

我建议添加更多的调试语句,并尝试使用更多不同的名称,这样你就可以看到发生了什么。仅仅从这个例子很难判断出什么是错的。如果没有诊断,这是很难诊断的