AbAppletic - 1 year ago 50
Java Question

Can't seem to find what is null in a NullPointerException

I have a class extending ParseQUeryAdapter so I can use the

notifyDataSetChanged
feature. The adapter class is called
mainAdapter
.
Here's my notifyDataSetCHanged method in the mainAdapter:

    @Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
MainActivity mainActivity = new MainActivity();
mainActivity.getItems();
}


Here's my getItems() method in MainActivity:

    public void getItems(){
Toast.makeText(MainActivity.this,"null",Toast.LENGTH_SHORT).show();
}
}


The app crashes on loading. As you can see, I planted an
if
so that I can see if
adapter
was null. But it still crashes.
According to the debugger, it says in green after getting the to the
if
However, I have this in onCreate():
adapter = new mainAdapter(this);

And I declared it:
mainAdapter adapter

Is there any method I can put in that will solve my issue? Although I am implementing the class, why is it still null?

If you want to reference an existing activity then you have to pass the activity object to where you want to use it (or use getContext or getActivity when your in a class that has that available).

One of the things you can do is create a method that passes the MainActivity object into your ParseQUeryAdapter. Then when you are calling stuff in your adapter do: activityObject.whatevermethodyouwantocallontheactiviy() be shure to error check the activity object first though.

IE:

private MainActivity activity;
public void setup(MainActivity activity){ this.activity = activity;}

@Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
if(activity != null){
activity.getItems();
}
}