33

I have a simple read a txt-file function.

AssetManager mngr = getAssets(); InputStream is = mngr.open("textdb.txt"); 

It works from my main activity. But if I use the same code in a separate class, getAssets() just return null / crash.

I am unable to find why it only works from the main class.

Any ideas?

Solution:

subClass.ReadSettings(getApplicationContext()); public String[] ReadSettings(Context myContext) { } 

1 Answer 1

70

Is your other class also an Activity? getAssets() is a method of Context. If your class is not an activity, you'll need to pass a context into it and then call getAssets on that.

Like so:

public myClass(Context myContext) { AssetManager mngr = myContext.getAssets(); InputStream is = mngr.open("textdb.txt"); } 
Sign up to request clarification or add additional context in comments.

1 Comment

No problem! Could you select his answer as the correct answer by clicking the check mark? This deletes the question from the Unanswered list and makes it easier for others with the same problem to find a correct answer.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.