java - 从 Java/Android 线程返回值

标签 java android java-threads

我的 android 类中有以下线程。如何从线程中获取 err 的值???

public int method(){
new Thread(new Runnable() {
        int err;

        @Override
        public void run() {
            err = device.verify(30, 5, coderChoice, detectModeChoice,
                      0, listSearch, callbackCmd, MTFPSD.this, matchingScore);
            updateView("Finger Captured Successfully", err);

        }
    }).start();

return err;
}

我希望该值是该方法的返回值,但我一生都无法获取该值...

最佳答案

您有两种方法可以实现这一目标。

  1. 方式。 创建一个可变对象,例如整数列表,并让线程(可运行)写入列表。您可以在外部类/方法中访问列表中的值。

  2. 使用Callable而不是 RunnableCallable 可以返回值

关于java - 从 Java/Android 线程返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668517/

相关文章:

java - 使用正则表达式从字符串中提取带有调用文本的电话号码

java - (Java) 表达式的类型必须是数组类型,但它解析为对象错误

android - adb命令设置语音助手

java - Java 中 wait() 和 notifyAll() 的行为?

java - 使用Java在循环内并行执行方法

threadpool - 我们应该为长时间运行的线程使用线程池吗?

java - Jar 文件类通过命令提示符执行,但通过 QTP 的 shell 脚本对象运行时没有ClassDefFound

Java getter 方法返回 null 而不是字符串

android - 当按下 RecyclerView 内的按钮时如何下载文件?

java - 尽管没有对代码进行任何更改,但 MainActivity 不再从 startActivity(i) 启动