2016-08-14 47 views
2

Bitmap.CompressFormatからenumを取得しようとしています。今まで何をしようとしていても、クラスにアクセスできないようです。誰もこれを前にしたことがありますか?UnityでAndroidからenumを取得する方法

コード:

... 

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

Enumはクラスではないためです。クラスではなく、列挙型の値を取得したい場合 –

答えて

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

はこれを試してみてください。 昨日、同じ問題を解決するために、解決策を見つけるのに3時間かかりました。 解決策は、Bitmap.CompressFormatパスを印刷するためのJavaデモを作成し、結果をandroid.graphics.Bitmap $ CompressFormatに出力することです。これは必要なものです。あなたは-1をキャンセルしてくださいますか?ありがとうございます。

tucao in my mother tongue

+0

ようこそスタックオーバーフロー!このコードは質問に答えるかもしれませんが、なぜこのコードが質問に答えるか、および/またはどのようにして追加の文脈を提供すれば、長期的な価値が向上します。コードのみの回答はお勧めできません。 – Ajean

関連する問題