【问题标题】:How to get enum from Android in Unity如何在 Unity 中从 Android 获取枚举
【发布时间】:2016-08-14 15:21:22
【问题描述】:

我正在尝试从Bitmap.CompressFormat 检索枚举。无论我在尝试什么,我似乎都无法访问该课程。以前有人做过吗?

代码:

...

AndroidJavaClass bitmapClass = new    AndroidJavaClass("android.graphics.Bitmap");
AndroidJavaClass bitmapCompressEnum = bitmapClass.Get<AndroidJavaClass>("CompressFormat");

...

bitmap.Call("compress", bitmapCompressEnum.Get<AndroidJavaObject>("PNG"), 100, fileOutputStreamObject);

错误:

AndroidJavaException: java.lang.NoSuchFieldError: 否 “Ljava/语言/类;”类中的字段“CompressFormat” “Landroid/图形/位图;”或其超类 java.lang.NoSuchFieldError:没有“Ljava/lang/Class;”类中的字段“CompressFormat” “Landroid/图形/位图;”或其超类

【问题讨论】:

  • 因为 Enum 不是一个类。您想获取枚举的值而不是类

标签: c# android unity3d enums unity5


【解决方案1】:
AndroidJavaClass bitmapClass = new    AndroidJavaClass("android.graphics.Bitmap$CompressFormat");
bitmapClass.GetStatic<AndroidJavaObject>("PNG");

试试这个。 为了解决同样的问题,花了三个小时才找到解决方案。 解决方法是写一个java demo打印出Bitmap.CompressFormat路径,打印结果是android.graphics.Bitmap $ CompressFormat tucao in my mother tongue

【讨论】:

  • 欢迎来到 Stack Overflow!虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。不鼓励仅使用代码回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
相关资源
最近更新 更多