gpt4 book ai didi

java - settext() 不更新文本

转载 作者:行者123 更新时间:2023-12-01 18:15:46 29 4
gpt4 key购买 nike

我是一名初学者程序员,我在我的应用程序中发现了一个错误/问题,这并不能让我安心

W1.setText (numberAsString);
W2.setText (numberAsString);
W3.setText (numberAsString);

在这些我有一个问题

每次在 TextView 中给出不同的数学结果值,但有时不使用变量 numberAsString 进行更新,尽管始终为 numberAsString 分配不同的值,有时给出 W1、W2、W3 不更新

public void Do()
{
los();
proba.setText("dodawanie");
c = Dodawanie(a,b);
String numberAsString = String.valueOf(c);
//Toast.makeText(getApplicationContext(), numberAsString, Toast.LENGTH_LONG).show();
//W1.setText(numberAsString);
Random liczba = new Random();
h = liczba.nextInt(5);
String H = String.valueOf(h);
String L1 = String.valueOf(l1);
String L2 = String.valueOf(l2);
//Toast.makeText(getApplicationContext(), H, Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), numberAsString, Toast.LENGTH_LONG).show();
//////////////////////////////////////////////////////////////////////

///////////////////////////////////////////
if(h==0||h==3) {
W1.setText(numberAsString);
Wyb1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
p++;
String L = String.valueOf(p);
l.setText(L);
Do();

}
});
W2.setText(L1);
Wyb2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
W3.setText(L2);
Wyb3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
}
else if(h==1||h==4){
W2.setText(numberAsString);
Wyb2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
p++;
String L = String.valueOf(p);
l.setText(L);
Do();

}
});
W1.setText(L1);
Wyb1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
W3.setText(L2);
Wyb3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
if(h==2||h==5)
{
W3.setText(numberAsString);
Wyb3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
p++;
String L = String.valueOf(p);
l.setText(L);
Do();

}
});
W1.setText(L1);
Wyb1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
W2.setText(L2);
Wyb2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Zle", Toast.LENGTH_LONG).show();
}
});
}

}
}

最佳答案

您需要位于 UI 线程上才能更改 TextView 内容。

引用:Android update TextView in Thread and Runnable

关于java - settext() 不更新文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372965/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com