我有一个要从中调用新线程的类。

public class MainClass{

 private void cleardata() {
                // do something on a separate thread
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        //Do Something
        //After this I would like to notify my MainClass that some thing has been done and pass a value.
        }
      }
     }
   private void callbackFunc(int a){

    // Do something based on value of a
  }
}

我的MainClass中有一个函数。但是,如何从新线程中调用此函数,以便接收回调。
谢谢。

最佳答案

您应该只能够按名称在MainClass中调用该方法,就像您是直接从MainClass本身内部调用(而不是从内部类调用)一样。

如果您要调用的方法名称与您的内部类已从Object继承的方法名称发生冲突,则可以在调用之前添加MainClass.this,例如MainClass.this.toString()toString上调用MainClass,而仅toString()在内部类实例上调用它。

关于java - 从新线程到发起线程的类的回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15611305/

10-12 04:05