我想将一个drawable从一个对象转换为一个位图,但是当我尝试使用这个
时 Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
cardWriter.getCardImage());
它给了我错误的第二个参数期待' int'发现' drawable'但我读到的一切都说它应该是一个可绘制的。当我开始写cardWriter.getCardImage()时,android工作室代码完成说它是一个可绘制的, 这是我的CardWriters课程
public CardWriter(Drawable cardImage, String cardEmotion, String
speechText)
{
this.cardImage = cardImage;
this.cardEmotion = cardEmotion;
this.speechText = speechText;
}
我认为这可能是我的背景错了,但我不知道它是如何只是一种方法,我也传递上下文,继承人的全部事情
public void insertCardDetails(Context context, CardWriter cardWriter) {
ContentValues cv = new ContentValues();
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), cardWriter.getCardImage());
cv.put(CARD_PHOTO, Utility.getBytes(bitmap));
cv.put(CARD_NAME, cardWriter.getCardEmotion());
cv.put(CARD_SPEECH, cardWriter.getSpeechText());
IconsDB.insert(EMPLOYEES_TABLE, null, cv);
}
我在做什么?
答案 0 :(得分:2)
BitmapFactory.decodeResource
期望第二个参数的可绘制ID。
你应该这样做:
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.your_drawable_id);
或者如果你不知道id:
Bitmap bitmap = ((BitmapDrawable)cardWriter.getCardImage()).getBitmap;