Trong đơn xin của tôi, tôi có nhiều lớp học và hoạt động. Droid là một lớp không có ngữ cảnh. Mygame là một lớp mở rộng SurfaceView và triển khai SurfaceHolder.Callback. Tôi đang tạo một đối tượng của Droid trong lớp mygame và thiết lập hình nền và vị trí cho nó. Mã tôi đã viết cho điều này được đưa ra dưới đây.Cách gọi hàm getResources() từ một lớp không có ngữ cảnh?
block1 = new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.birdpic), 100, 10);
Phương thức khởi tạo của lớp Droid được đưa ra dưới đây.
public Droid(Bitmap bitmap, int x, int y) {
this.bitmap = bitmap;
this.x = x;
this.y = y;
}
Trong một kịch bản đặc biệt tôi phải thiết lập các hình nền và vị trí của đối tượng Droid từ lớp Droid itself.Here tôi đang phải đối mặt với issue.Given dưới đây là đoạn mã để làm điều này.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
Vấn đề là lớp Droid không có ngữ cảnh. Vì vậy, tôi không thể sử dụng getResources() tại đây. Tôi đã thử mã dưới đây nhưng nó bị treo.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(myObj.getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
Ai cũng có thể giúp tôi. Tôi chỉ muốn thiết lập hình nền và định vị nó cho đối tượng Droid từ chính lớp Droid.
thể trùng lặp của [Sử dụng getResources() trong lớp không hoạt động] (http://stackoverflow.com/ câu hỏi/7666589/sử dụng-getresources-in-non-hoạt động-class) –