java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.util.HashMap.toString()' on a null object reference
i n'a pas pu montrer dans mon fragment android extensible en utilisant volley en mesure d'obtenir la réponse du serveur, mais il affiche l'erreur exception de pointeur nulandroid expandablelistview utilisant volley
je n'ai pas pu montrer dans mon fragment extensible utilisant android volley en mesure d'obtenir la réponse du serveur, mais il affiche l'erreur exception de pointeur nul
merci
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;
}
});
}
}
}
double possible de [Qu'est-ce qu'un NullPointerException, et comment puis-je résoudre ce problème?] (Https://stackoverflow.com/questions/218384/what-is-a -nullpointerexception-et-comment-faire-je-fix-it) – HaveSpacesuit