2010-09-08 37 views
7

Tôi muốn vẽ bitmap vào phương pháp bốc thăm trong MyPositionOverlay mở rộng lớp Overlay nhưng tôi nhận được lỗi này: Phương pháp getResource() là undefined cho các loại MyPositionOverlayAndroid getResource() không xác định lỗi

đâu tôi sai?

Đây là phương pháp mã hình thức bốc thăm:

Bitmap bmp = BitmapFactory.decodeResource(getResource(), R.drawable.icon); 
    canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null); 

Cảm ơn

Trả lời

14

Phương pháp getResources() không phải là một thành viên của lớp Overlay. getResources() là một thành viên của lớp Context. Bạn cần phải vượt qua một tài liệu tham khảo của một bối cảnh để lớp con Overlay của bạn để nó có thể tải các tài nguyên drawable:

Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon); 

Bạn cũng không muốn tải một bitmap trong phương pháp bốc thăm của bạn vì nó là rất nhớ thâm canh và sẽ làm chậm ứng dụng của bạn, bạn nên lưu một biến thành viên của bitmap trong hàm tạo của lớp phủ sao cho nó chỉ được nạp một lần.

+1

Cảm ơn trả lời nhanh của bạn, nhưng bây giờ tôi nhận được lỗi này "bối cảnh không thể giải quyết" – Jovan

+1

bạn phải xác định bối cảnh Bối cảnh; – Jorgesys

1

sử dụng

Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); 

hoặc

Bitmap bmp = BitmapFactory.decodeResource(Context.getResources(), R.drawable.icon); 
Các vấn đề liên quan