java - 即使实例化后静态字段仍为空

标签 java android android-ndk

我有一个带有静态字段和静态设置函数来设置其值的类。

class Intermediate{
  private static Type myObject=null;
  public static void setIntermediate(Type ob){
     myObject=ob;
  }

  public static String  getValue(){
      if(myObject!=null)
        return myObject.getValue();
      else
        return "";   // <== always returning this value

  }


}

Intermediate.getValue() 由 native 代码 cpp 调用。

在我的主要 Activity 中,我将值初始化为

class myActivity extends Activity{
    void  onCreate(){
        Intermediate.setIntermediate(new subType()); 
    }    
}

这里subTypeType类的子类。

在 native 端,我调用 Intermediate 类的 getValue() ,其 myObject 始终为 null;

最佳答案

您没有在代码中初始化子类型的字符串属性。您的 onCreate() 方法正在执行以下操作:

new subType()

因此,当调用 Intermediate.getValue() 时,您将遇到此行

return myObject.getValue();

您可以通过这样做来解决此问题

void  onCreate(){
    Type t = new subType();
    t.setValue("whatever string you want");
    Intermediate.setIntermediate(t); 
}  

关于java - 即使实例化后静态字段仍为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397775/

相关文章:

java - MPAndroidChart LineChart 仅在 LineData 上显示

java - 从 Apache Spark SQL 中的用户定义聚合函数 (UDAF) 返回多个数组

java - 如何在 Blackberry 项目中存储 32 MB 文件

android - Android:免费提供应用内购买商品

android - 无法加载库 libopencv_java.so

android - 如何在 Android 中使用 native 代码将文件从一个目录复制到另一个目录?

java8 lambda 带条件分组

android - 无法在 Android 中添加电子邮件签名

android - 单一按钮的多种功能

android - 导出 mupdf 和 android studio 0.5.4