java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.util.HashMap.toString()' on a null object reference
war ich nicht in der Lage in meinem Fragmente zeigen android erweiterbar volley mit Lage Antwort vom Server zu erhalten, aber es zeigt Fehler Null-Zeiger-Ausnahmeandroid expandablelistview mit Volley
i in zeigen, nicht in der Lage war mein Fragment android erweiterbar volley mit Lage Antwort vom Server zu erhalten, aber es zeigt Fehler Null-Zeiger-Ausnahme
danke
public class NotificationFragment extends Fragment {
private static String url = "http://www.androidbegin.com/tutorial/jsonparsetutorial.txt";
private ProgressDialog mprocessingdialog;
private TextView tv_welcomeuser, tv_recentupdate;
private ExpandableListAdapter expandableListAdapter;
private ExpandableListView exp_leaseoffer;
private List<String> listDataHeader;
private View rootView;
private HashMap<String, List<String>> listDataChild;
String jsonstr;
RequestQueue requestQueue;
public static NotificationFragment newInstance() {
NotificationFrag
ment fragment = new NotificationFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_notification, container, false);
tv_welcomeuser = (TextView) view.findViewById(R.id.tv_welcomeuser);
tv_recentupdate = (TextView) view
.findViewById(R.id.tv_recentupdate);
exp_leaseoffer = (ExpandableListView) view.findViewById(R.id.lvExp);
listDataHeader = new ArrayList<String>();
new DownloadJason().execute();
return view;
}
private class DownloadJason extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
mprocessingdialog = new ProgressDialog(getActivity());
mprocessingdialog.setTitle("Please Wait..");
mprocessingdialog.setMessage("Loading");
mprocessingdialog.setIndeterminate(false);
mprocessingdialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
StringRequest stringRequest = new StringRequest(Request.Method.GET,url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("rlog", response.toString());
jsonstr = response;
if (jsonstr != null) {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
try {
JSONObject jobj = new JSONObject(jsonstr);
JSONArray jarray = jobj.getJSONArray("worldpopulation");
for (int hk = 0; hk < jarray.length(); hk++) {
JSONObject d = jarray.getJSONObject(hk);
// Adding Header data
listDataHeader.add(d.getString("country"));
// Adding child data for lease offer
List<String> lease_offer = new ArrayList<String>();
lease_offer.add(d.getString("country") + "'s Rank is : "
+ d.getString("rank"));
lease_offer.add("And Population is "+d.getString("population"));
// Header into Child data
listDataChild.put(listDataHeader.get(hk), lease_offer);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("rlog", "Error: " + error.getMessage());
}
});
requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
mprocessingdialog.dismiss();
expandableListAdapter = new ExpandableAdapter(
getActivity(), listDataHeader, listDataChild);
Log.i("groups", listDataHeader.toString());
Log.i("details", listDataChild.toString());
exp_leaseoffer.setAdapter(expandableListAdapter);
exp_leaseoffer.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// TODO Auto-generated method stub
return false;
}
});
// Listview Group expanded listener
exp_leaseoffer
.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
}
});
exp_leaseoffer
.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
Toast.makeText(
getActivity().getApplicationContext(),
listDataHeader.get(groupPosition)
+ " Collapsed", Toast.LENGTH_SHORT)
.show();
}
});
exp_leaseoffer.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
return false;
}
});
}
}
}
Mögliche Duplikat [Was für eine Nullpointer ist, und wie kann ich es beheben?] (Https://stackoverflow.com/questions/218384/what-is-a -nullpointerexception-and-how-do-i-fix-it) – HaveSpacesuit