Я пытаюсь передать Context
моих ListViewAdapter
класса с помощью:не удается получить контекст при использовании AppCompatAcitvity
private ContactAdapter adapter = new ContactAdapter(this);
Но я получаю нулевой указатель в моем ContactAdapter
классе, он не может найти Context
:
public class MainActivity extends AppCompatActivity {
Logcat:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at info.androidhive.materialnavbar.ContactAdapter.readTextFileAsList(ContactAdapter.java:67)
at info.androidhive.materialnavbar.ContactAdapter.<init>(ContactAdapter.java:30)
at info.androidhive.materialnavbar.MainActivity.onCreate(MainActivity.java:18)
Метод ИНСИ де Adapter
с использованием контекста:
public List<Contact> readTextFileAsList(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader bufferedreader = new BufferedReader(inputreader);
String line;
List<Contact> list = new ArrayList<>();
try
{
while ((line = bufferedreader.readLine()) != null)
{
String[] a = line.split(";");
list.add(new Contact(a[0],a[1],a[2],a[3],a[4]));
}
}
catch (IOException e)
{
return null;
}
return list;
}
Когда адаптер прибудет инициализируется:
под конструктором
public class ContactAdapter extends BaseAdapter {
Context ctx;
public ContactAdapter(Context ctx) {
this.ctx = ctx;
}
private List<Contact> codeLearnChapterList = readTextFileAsList(ctx, R.raw.testcrawljs);
Где находится ваш logcat ??? –