等待字符串值从null更改为其他值

时间:2015-02-05 13:47:08

标签: java android

我有一个类似下面的课程

public class Myclass {
   private static String mystring = null;
   public String process() {
      output = null; // reset the value
      try {
         mystring = longprocess();
      } catch (Exception e) {}
      return mystring;
   }
}

这个问题是我总是得到我的字符串方法'process'的空值

如何等待mystring的值从null更改为其他值,然后才返回值?

注意:只需在方法进程中返回变量'mystring',而不在return语句本身中使用longprocess。

1 个答案:

答案 0 :(得分:0)

根据你用pastebin提供的代码(BTW,为什么不包含它?),似乎你在赋予实际值之前返回output字符串。

方法RootShell.getShell(true).add(cmd)将异步执行提供的命令,因此您无法在命令的回调中分配方法的局部变量output(您可以,但实际的分配将会在return output;语句后发生,因此您将始终从null方法返回longprocess()

作为一种解决方法,我建议您将某种倾听者传递给longprocess()方法,并从此侦听器中分配mystring变量。