settext()不会更新文本



我是一名初级程序员,在我的应用程序中发现了一个错误/问题,无法让我平静下来,即我有

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

在这些中,我遇到了问题

每次在文本视图中给出不同的数学结果值,但有时不使用变量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更新线程和可运行中的TextView

最新更新