2016-03-06 69 views
0

問題很簡單。位圖()未公開

public Bitmap bm = new Bitmap()

以下代碼拋出錯誤說位圖()不在公共位圖;不能從外部包訪問。問題是,它是公共的(android.graphics):

public final class Bitmap implements Parcelable { .. }

我GOOGLE了很多,各種這樣的問題來的問題時,這個類(位圖,在我的情況)沒有設置公共。我不明白什麼是錯的。是因爲Bitmap類是最終的嗎?那麼我應該如何聲明一個位圖類型的變量?

任何提示將不勝感激。

已經嘗試清理和重建項目。

+1

導入有誤嗎? –

+0

我猜不是:'import android.graphics.Bitmap' – idementia

回答

2

這不是因爲它是最終的,這是因爲它的構造函數被標記爲private。從文檔判斷,您打算從createBitmap靜態方法創建Bitmap

+0

所以如果我得到它的權利,初始化新位圖的唯一方法是通過私人構造函數'Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888)',其中我必須指定確切的圖像大小(W,H)? – idementia

+0

這不是一個私有構造函數,它是一個靜態工廠方法,但是。 –

0

如上所述,Bitmap類有一個私有的構造,並且可以使用例如靜態方法,如

public static Bitmap createBitmap (DisplayMetrics display, int[] colors, int width, int height, Bitmap.Config config) 

創建類的新實例來看看到documentation和檢查哪一個是最適合你...