首页 > 解决方案 > 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();
                    }
                });
            }

    }
}

标签: javaandroid

解决方案


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

参考:Android更新TextView in Thread and Runnable


推荐阅读