首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将值从线程传递到主活动

将值从线程传递到主活动
EN

Stack Overflow用户
提问于 2014-05-16 04:52:38
回答 4查看 3K关注 0票数 2

我已经在网上搜索了很久了。也许我在这里做的是错的。

我已经在一个与MainActivity.java分开的文件中编写了一个线程类。因为线程和主活动都比较长,所以我决定将它们分成不同的文件。

我希望将线程类生成的一些值传递给主活动。最初,我想使用处理程序。但是,因为线程位于与主活动不同的类中。它不知道我在主活动中定义的处理程序。

代码语言:javascript
复制
public class mythread implements Runnable{
    @Override
    public void run(){
        result = result_from_some_task();
    }
}

这是我的线程类的基本结构,我希望将结果传递回主活动。我看过许多例子,其中大多数是线程在主活动类中,定义的处理程序可以很容易地引用。

意图似乎不适用。有没有人知道如何进行这类操作?

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-16 04:59:29

创建AnotherClass的参数化构造函数,当您创建AnotherClass对象时,只需将MainActivity对象传递到构造函数中,并在AnotherClass类中调用MainActivity的方法,然后从该对象调用该方法。

检查以下代码:

代码语言:javascript
复制
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    AnotherClass object= new AnotherClass (this);
    object.start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void makeSomeCalculation() {
    //logic to change some UI 
}
}

检查另一堂课:

代码语言:javascript
复制
public class AnotherClass extends Thread {

MainActivity mainActivity;

public AnotherClass (MainActivity mainActivity) {
    // TODO Auto-generated constructor stub

    this.mainActivity = mainActivity;
}

public void run() {
   //write other logic
        mainActivity.makeSomeCalculation();
   //write other logic
 }
}
票数 6
EN

Stack Overflow用户

发布于 2014-05-16 04:57:30

在你的活动中你需要一个处理程序。当您的线程完成时,您将向处理程序发送一条消息,通知该线程执行完成。例如,请参见这里。您也可以为此使用接口。例如,请参见这里。在回答中,他使用接口来通知异步任务。您也可以对线程执行同样的操作。

票数 0
EN

Stack Overflow用户

发布于 2014-05-16 05:01:47

这可能不是您想要的,因此请将其视为避免长期headaches.Try EventBus的建议。这是一个库,可以方便地在Android中的各个组件之间进行通信。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23692856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档