Как использовать активы в Android - PullRequest
2 голосов
/ 12 ноября 2010

Как использовать активы? У меня есть этот код:

AssetManager assets = getAssets();
InputStream stream = assets.open( "test.txt" );

Это выглядит так, как если бы оно использовалось только в классе Activity. Если я пытаюсь использовать приведенный выше код в другом классе, я получаю ошибку о том, что getAssets () не является типом для моего класса.

Так как же использовать активы в классе, который не является Деятельностью?

1 Ответ

2 голосов
/ 12 ноября 2010

Вы должны пройти тот класс, который хотите использовать в контексте своей деятельности. Чтобы получить правильный контекст в своей деятельности, вы делаете что-то вроде этого.

private Context ctx = null;

public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    // your other code
    ctx = getApplication();

    MyClass myClass = new MyClass(ctx);
}

Где MyClass - это класс, о котором вы говорите. В вашем классе вы должны обрабатывать контекст в вашем конструкторе классов.

class MyClass {
    Context ctx = null;

    public MyClass(Context ctx) {
        this.ctx = ctx;
    }
}
...