我正在做一些Android编程,我想创建一个接受意图的可运行对象。我了解创建可运行对象的一般方法是:

可运行的R1 =新的可运行(){

};

我想要的是让我的跑步者接受意图作为参数或输入。然后,可运行对象将意图用于其他用途。我想我看起来像这样:

可运行R1 =新可运行(Intent i1){

};

我已经尝试过这种方法及其变体,无法对其进行编译。我该怎么做呢?

最佳答案

要接受参数,必须创建一个符合Runnable的新类,以便可以将参数传递给构造函数(并在其中有用)。捕获状态(对匿名Runnable对象有用)的另一种方法是访问词法范围内的final变量。

通过一个新的类和一个接受参数并存储值以供以后使用的构造函数:

class RoadRunner implements Runnable {
   String acmeWidget;
   public RoadRunner (string acmeWidget) {
     this.acmeWidget = acmeWidget;
   }
   public void run () {
     evadeCleverPlan(acmeWidget);
   }
}

void doIt () {
  Runnable r = new RoadRunner("Fast Rocket");
  // do something with runnable
}


(如果RoadRunnerinner class-这是一个非静态嵌套类-它也可以访问该封闭类型的实例成员。)

带有匿名Runnable和“穷人闭门”:

void doItAnon () {
  final String acmeWidget = "TNT";
  Runnable r = new Runnable () {
    public void run () {
      evadeCleverPlan(acmeWidget);
    }
  };
  // do something with runnable
}


(此匿名Runnable也可以访问包含类型的实例成员,例如anonymous classes是内部类。)

关于java - 创建使用参数的可运行对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16408991/

10-13 07:24