The logs say:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.t99sdevelopment.centralized/com.t99sdevelopment.centralized.ContactBookScreen}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at
com.t99sdevelopment.centralized.ContactBookScreen.<init>(ContactBookScreen.java:26)
It's looking for @+id/nameList, but it very obviously has this, and is of type ListView, so I don't know what the problem is. I'm trying to take an array from Parse, set that array to teacherName[], teacherPosition[], and teacherNumber[], respectively, and then create an adapter to show that data on the ListView.
package com.t99sdevelopment.centralized;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.parse.GetCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.sql.Array;
import java.util.Arrays;
import java.util.List;
public class ContactBookScreen extends AppCompatActivity {
String[] teacherName;
String[] teacherPosition;
String[] teacherNumber;
ListView nameList = (ListView) findViewById(R.id.nameList); <---the error is here.
ListView positionList = (ListView) findViewById(R.id.positionList);
ListView numberList = (ListView) findViewById(R.id.numberList);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contactbookscreen);
setActionBarText();
}
public void parseGet(View view){
ParseQuery<ParseObject> query = ParseQuery.getQuery("data");
query.getInBackground("zF3GAgdbi3", new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
teacherName = (String[]) object.get("TeacherName");
teacherPosition = (String[]) object.get("TeacherPosition");
teacherNumber = (String[]) object.get("TeacherPhone");
} else {
}
}
});
ArrayAdapter<String> nameAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, teacherName);
nameList.setAdapter(nameAdapter);
ArrayAdapter<String> positionAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, teacherPosition);
positionList.setAdapter(positionAdapter);
ArrayAdapter<String> numberAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, teacherNumber);
numberList.setAdapter(numberAdapter);
}
private void setActionBarText(){
TextView actionBarText = (TextView) findViewById(R.id.toolbar_title);
actionBarText.setText("Contact Book");
}
}
Here's the XML:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"
android:background="@color/trojanWhite">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/actionbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ListView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/nameList"/>
<ListView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/positionList"
android:layout_toRightOf="@+id/nameList"/>
<ListView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/numberList"
android:layout_toRightOf="@+id/positionList"/>
</LinearLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/trojanBlack" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nvView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
app:menu="@menu/navigationdraweritems"
app:headerLayout="@layout/nav_header"
/>
</android.support.v4.widget.DrawerLayout>