У меня есть простая проблема, на которую много раз отвечал SO, но я не понимаю ответов, и я не могу заставить свой код работать.Действительно ли необходимо распространять контекст через суперклассы для создания простого растрового изображения из чертежей?
Я хочу создать растровое изображение с возможностью рисования.
public class Helicopter extends Sprite {
private Context context;
private Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.heli1_east_rot);
public Helicopter(Context c) {
context = c;
}
}
public class TitleScreen extends State {
private Helicopter heli;
public TitleScreen(Context c) {
heli = new Helicopter(c);
}
}
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Game game = new Game(this, null);
game.pushState(new TitleScreen(game.getContext()));
setContentView(game);
}
}
Я также попытался super.getGame().getContext()
в классе TitleScreen, но обе попытки дает ту же ошибку в LogCat:
01-26 13: 28: 32.217: E/AndroidRuntime (1537): java.lang.RuntimeException: не удается запустить активность ComponentInfo {com.example.helloandroid/com.example.helloandroid.MainActivity}: java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.res.Resources android .content.Context.getResources() ' на нулевом объекте ЭСТ ссылка
Почему это должно быть так трудно создать растровое изображение, когда я могу получить доступ к вытяжке, как это private Image wallVerImage = new Image(R.drawable.heli);
без каких-либо ссылок на контекст? Как исправить мой код?
Благодаря
Очевидно. Решаемые. Благодарю. – tsorn