Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Java 如何处理Runnable生成的对象?_Java_Android - Fatal编程技术网

Java 如何处理Runnable生成的对象?

Java 如何处理Runnable生成的对象?,java,android,Java,Android,我有一个Android应用程序,它使用一些可运行的程序(在某个MainActivity中)生成数字。我试图获得这些数字的指数移动平均值,并将其显示在文本视图中。正确的处理方法是什么?无论出于何种原因,直接的方法都会产生NaN。我只有一周的Java和Android经验,所以这种情况让我非常困惑。你基本上想跳过同步性的鸿沟 有多种方法。我将提到最简单的一个,它需要一个Runnable来知道最后一个是run() 在这种情况下,将所有结果存储在Runnable外部范围内的变量中。最后运行的Runnabl

我有一个Android应用程序,它使用一些可运行的程序(在某个MainActivity中)生成数字。我试图获得这些数字的指数移动平均值,并将其显示在文本视图中。正确的处理方法是什么?无论出于何种原因,直接的方法都会产生NaN。我只有一周的Java和Android经验,所以这种情况让我非常困惑。

你基本上想跳过同步性的鸿沟

有多种方法。我将提到最简单的一个,它需要一个Runnable来知道最后一个是
run()

在这种情况下,将所有结果存储在Runnable外部范围内的变量中。最后运行的Runnable将运行并输出聚合函数

final List<Number> myNumbers = ...
Runnable myRunnable = new Runnable() {
    public void run() {
        ...
        myNumbers.add(partialResult);
        if (iAmTheLastRunStanding()) {
            aggregateAndOutput(myNumbers);
        }
    }
}
...
myRunnable.run();
...
myRunnable.run();
...
final List myNumbers=。。。
Runnable myRunnable=新Runnable(){
公开募捐{
...
myNumbers.add(partialResult);
如果(IAMTheLastrunStading()){
聚合输出(MyNumber);
}
}
}
...
myRunnable.run();
...
myRunnable.run();
...

听起来好像您已经尝试过了,但它没有按照您想要的方式工作。也许如果你发布一篇文章,某人可以提出一个如何修复它的建议。我问的是一个一般原则,代码可以是任何存在上述类型对象的代码。通常,如何、何时、何地声明一个变量取决于Runnable生成的一系列对象。您在那里的代码,甚至作为一个一般性问题,最好是MyTextView.setText(exponentialMovingAverage(myNumbers))@PerdiEstaquel您真的应该从后台线程访问GUI中的文本视图小部件吗?是的,您可能想使用Android版本的JavaFX的Platform.runLater(runnable)。但我可能错了,我不懂安卓