2016-08-14 188 views
2

我想從Bitmap.CompressFormat中檢索枚舉。我正在嘗試什麼,我似乎無法進入課堂。有沒有人做過這個?如何從Unity中獲取枚舉

代碼:

... 

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: no "Ljava/lang/Class;" field "CompressFormat" in class "Landroid/graphics/Bitmap;" or its superclasses java.lang.NoSuchFieldError: no "Ljava/lang/Class;" field "CompressFormat" in class "Landroid/graphics/Bitmap;" or its superclasses

+1

因爲枚舉不是類。你想獲得枚舉值而不是類 –

回答

1
AndroidJavaClass bitmapClass = new AndroidJavaClass("android.graphics.Bitmap$CompressFormat"); 
bitmapClass.GetStatic<AndroidJavaObject>("PNG"); 

試試這個。 昨天爲了解決同樣的問題,花了三個小時才找到解決方案。 解決的辦法是寫一個java demo來打印出Bitmap.CompressFormat的路徑,打印結果是android.graphics.Bitmap $ CompressFormat,這就是我們需要的。你能取消那個-1嗎?謝謝。

tucao in my mother tongue

+0

歡迎來到堆棧溢出!雖然這段代碼可能會回答這個問題,但爲什麼和/或代碼如何回答這個問題提供了額外的背景,這提高了它的長期價值。不鼓勵使用僅有代碼的答案。 – Ajean