Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android studio中使用java将线程增量数据插入TextVew_Java_Android - Fatal编程技术网

如何在Android studio中使用java将线程增量数据插入TextVew

如何在Android studio中使用java将线程增量数据插入TextVew,java,android,Java,Android,我从我的控制台(from:System.out.println(a))得到结果,但是如果Textveiw(tv\u main activitybalance)中的设置值出现错误 如何在textView中设置值以及如何在线程更改时自动工作。因为要更改tv\u mainActivityBalance文本,您需要UI线程。 如果您能发布更多关于您的代码以及它应该做什么的信息,那么我们也许可以帮助您找到一个更优化的解决方案 然而,您的代码应该是这样的 Thread thread = new Thread

我从我的控制台
(from:System.out.println(a))
得到结果,但是如果
Textveiw(tv\u main activitybalance)
中的设置值出现错误


如何在textView中设置值以及如何在线程更改时自动工作。

因为要更改
tv\u mainActivityBalance
文本,您需要UI线程。 如果您能发布更多关于您的代码以及它应该做什么的信息,那么我们也许可以帮助您找到一个更优化的解决方案

然而,您的代码应该是这样的

Thread thread = new Thread() {
    @Override
    public void run() {
        int a =1;
        while (true) {
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            tv_mainActivityBalance.setText(String.valueOf(a));
            System.out.println(a);
            a++;
        }
    }
};
thread.start();

他们不需要获取tmp数据,因为内存问题,我们只需要使用一个变量来解决这个问题

Thread thread = new Thread(){
    @Override
    public void run() {
        int a =1;
        while (true){
            try {
                 sleep(1000);
                } catch (InterruptedException e) {
                 e.printStackTrace();
                }
                final int tmp = a;
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        tv_mainActivityBalance.setText(String.valueOf(tmp));
                    }
                });
                System.out.println(a);
                a++;
            }
        }
    };
    thread.start();

你正在编写的代码对我有用。并给出a的值,连续增加1

setText(““+a”);给你。它不工作,兄弟…..错误:只有创建视图层次结构的原始线程才能接触它的视图。为什么使用while循环。?用于无限计数
Thread thread = new Thread(){
        @Override
        public void run() {
            int a =1;
            while (true){
                try {
                     sleep(1000);
                    } catch (InterruptedException e) {
                     e.printStackTrace();
                    }
                    final int tmp = a;
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            tv_mainActivityBalance.setText(String.valueOf(tmp));
                        }
                    });
                    System.out.println(a);
                    a++;
                }
            }
        };
        thread.start();