Quantcast
Viewing all articles
Browse latest Browse all 6

Answer by mehul for After sorting JSONArray,Custom list view not changed?

I have sort the arraylist named ArrayList> addressaray; add response data to arraylist using

JSONObject object = new JSONArray(s.toString());JSONArray arr1 = new JSONArray(object.getString("data").toString()).getJSONArray(0);for (int i = 0; i < arr1.length(); i++) { JSONObject jsonObject = arr1.getJSONObject(i); HashMap<String, String> data = new HashMap<String, String>(); data.put("id", jsonObject.getString("id")); data.put("date_inspected_details", jsonObject.getString("date_inspected_details")); addressaray.add(data);    }    adapter = new PropertiesEvaluatedFragmentAdapter(getActivity(), addressaray, getActivity().getSupportFragmentManager());  listView.setAdapter(adapter);  adapter.notifyDataSetChanged();} @Override    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {    String item = parent.getItemAtPosition(position).toString(); if(addressaray.size() > 0){                sortListView(item);                adapter.notifyDataSetChanged();            }else{                Toast.makeText(getActivity(), "No Record found.", Toast.LENGTH_SHORT).show();            }}  private void sortListView(String option) {        switch (option) {            case "Date":Collections.sort(addressaray, new Comparator<HashMap<String, String>>() {                    final static String COMPARE_KEY = "date_inspected_details";                    @Override                    public int compare(HashMap<String, String> lhs,                                       HashMap<String, String> rhs) {                        String Date1 = lhs.get(COMPARE_KEY);                        String Date2 = rhs.get(COMPARE_KEY);                        Log.e("Date1", Date1);                        Log.e("Date2", Date2);                        // Do your comparison logic here and retrn accordingly.                        return Date1.compareTo(Date2);                    }                });  break;}}JSONObject object = new JSONArray(s.toString());JSONArray arr1 = new JSONArray(object.getString("data").toString()).getJSONArray(0);for (int i = 0; i < arr1.length(); i++) { JSONObject jsonObject = arr1.getJSONObject(i); HashMap<String, String> data = new HashMap<String, String>(); data.put("id", jsonObject.getString("id")); data.put("date_inspected_details", jsonObject.getString("date_inspected_details")); addressaray.add(data);    }    adapter = new PropertiesEvaluatedFragmentAdapter(getActivity(), addressaray, getActivity().getSupportFragmentManager());  listView.setAdapter(adapter);  adapter.notifyDataSetChanged();} @Override    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {    String item = parent.getItemAtPosition(position).toString(); if(addressaray.size() > 0){                sortListView(item);                adapter.notifyDataSetChanged();            }else{                Toast.makeText(getActivity(), "No Record found.", Toast.LENGTH_SHORT).show();            }}  private void sortListView(String option) {        switch (option) {            case "Date":Collections.sort(addressaray, new Comparator<HashMap<String, String>>() {                    final static String COMPARE_KEY = "date_inspected_details";                    @Override                    public int compare(HashMap<String, String> lhs,                                       HashMap<String, String> rhs) {                        String Date1 = lhs.get(COMPARE_KEY);                        String Date2 = rhs.get(COMPARE_KEY);                        Log.e("Date1", Date1);                        Log.e("Date2", Date2);                        // Do your comparison logic here and retrn accordingly.                        return Date1.compareTo(Date2);                    }                });  break;}}

Viewing all articles
Browse latest Browse all 6

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>