Android 在消耗列表视图中,在循环组下的全局数组列表中设置数据,当进入适配器时,它只显示最后一个值?

Android 在消耗列表视图中,在循环组下的全局数组列表中设置数据,当进入适配器时,它只显示最后一个值?,android,expandablelistview,Android,Expandablelistview,在可展开列表视图中,在设置适配器之前,我正在组循环中的全局数组列表中设置数据,当我在该循环中单击“登录”时,数据是按我所需的方式来的,但当在循环外部或适配器类中获取数据时,它只保存最后一个值 请检查代码: public class HomeFragment extends BaseFragment { public static View view; public static ExpandableListView recycler_onHome_Act_mExpandableListVie

在可展开列表视图中,在设置适配器之前,我正在组循环中的全局数组列表中设置数据,当我在该循环中单击“登录”时,数据是按我所需的方式来的,但当在循环外部或适配器类中获取数据时,它只保存最后一个值

请检查代码:

public class HomeFragment extends BaseFragment {

public static View view;
public static ExpandableListView 
recycler_onHome_Act_mExpandableListView;
public static ProgressBar progress_onHome_Act_mProgressBar;
public static GroupsAdapter groupsAdapter;
public static ArrayList<Group> groupsList;
public static ArrayList<Child> child_list;
公共类HomeFragment扩展了BaseFragment{
公共静态视图;
公共静态可扩展列表视图
回收商、家庭、法案、可扩展列表视图;
公共静态进度条进度条家庭法进度条;
公共静态组适配器组适配器;
公共静态数组列表groupsList;
公共静态ArrayList子列表;
公共静态ArrayList legListArrayList

public static JsonElement title_mJSonElement, chase_truck_mJsonElement, connote_url_mJSonElement,
        container_number_mJSonElement, fleet_numbermJSonElement, driver_name_mJSonElement,
        freight_type_mJSonElement, from_cust_city_mJSonElement;
public static JsonElement  leg_id_mJSonElement;
public static Child childClass;
public static Group groupClass;
public static Context context;
public static String[] colors = new String[]{"#2E9AFE", "#58FAF4", "#D8F781", "#FF00FF", "#9AFE2E", "#F5DA81", "#0B0B3B", "#D8F781", "#F2F5A9", "#1E90FF",    "#6495ED", "#7B68EE", "#8A2BE2", "#E6Ef6FA"};
public static JsonObject gettingDataFromMainArray_mJSonObject;
public static JSONObject jsonObjForJobInfo;
public static ArrayList keys_of_JobInfo_mArrayList;
public static ArrayList values_of_JobInfo_mArrayList;
public static ArrayList<HashMap<String, String>> document_mArrayListHashMap;
public static ArrayList<String> document_mArrayList;
public static ArrayList<String> CANNOTE_mArrayList;
public static String key, _pubKey;
public static JSONObject jsonResult;
public static ArrayList<String> tetsingg;
public static ArrayList<String> fdata;


public static HomeFragment newInstance(int page) {
    HomeFragment fragmentFirst = new HomeFragment();

  Bundle args = new Bundle();
    args.putInt("someInt", page);
    fragmentFirst.setArguments(args);
    return fragmentFirst;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.fragment_home, container, false);
    inits();


    return view;
}

private void inits() {
    context = getActivity();
    Fontchange.overrideFonts(context, view.findViewById(R.id.home_mRelativeLayout));

    recycler_onHome_Act_mExpandableListView = (ExpandableListView) view.findViewById(R.id.recycler_onHome_Act_mExpandableListView);
    groupsList = new ArrayList<Group>();
    child_list = new ArrayList<Child>();
    childClass = new Child();
    showProgressDialog(context);
    GettingsMainLegLIst();
}

@Override
public void onResume() {
    super.onResume();
}

public static void GettingsMainLegLIst() {


  RequestQueue queue = Volley.newRequestQueue(context);
    String ss = "https://testing.freighttracker.com.au/";
    int pageNum = 1;
    int pageSize = 3;
    final String url = ss + "api/GetLegList" + "?" + "&useraccesstoken=" + GlobalClass.getAccessToken() + "&PageNumber=" + pageNum + "&PageSize=" + pageSize;
    StringRequest postRequest = new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.e("responseReso", "--" + url);
            cancelProgressDialog();
            final ArrayList<HashMap<String, String>> frndListpost = new ArrayList<>();
            JsonObject mainResponse_mJsonObject = (JsonObject) new JsonParser().parse(response);
            Log.e("HomeFragment", "" + mainResponse_mJsonObject);
            JsonObject dataObj_mJsonObject = mainResponse_mJsonObject.get("data").getAsJsonObject();

            JsonElement errorElemnt = dataObj_mJsonObject.get("leg_list");
            if (errorElemnt.isJsonObject()) {
                Log.e("JsonObject", "--" + errorElemnt.isJsonObject());
                JsonObject legListObj_mJsonObject = dataObj_mJsonObject.get("leg_list").getAsJsonObject();
                JSONArray gettingDocumentArray_mJsonArray;
                for (Map.Entry<String, JsonElement> dynamic_ObjOF_Group : legListObj_mJsonObject.entrySet()) {
                    fdata = new ArrayList<String>();
                    HashMap<String, String> hashMap_post = new HashMap<>();
                    JsonArray gotGroups_mJsonArray = dynamic_ObjOF_Group.getValue().getAsJsonArray();
                    groupClass = new Group();
                    groupClass.setName(dynamic_ObjOF_Group.getKey());
                    child_list = new ArrayList<Child>();

                          // Intialize  Arraylist in group loop;
                    legListArrayList = new ArrayList<String>();

                    tetsingg = new ArrayList<>();

                    for (int i = 0; i < gotGroups_mJsonArray.size(); i++) {

                        document_mArrayList = new ArrayList<>();
                        document_mArrayListHashMap = new ArrayList<>();

                        HashMap<String, String> cannoteHashMap = new HashMap<>();
                        String cannote = "http://ft.yurtest.net/drivers.document.connot/2300";
                        cannoteHashMap.put("cannote", cannote);
                        document_mArrayListHashMap.add(cannoteHashMap);

                        keys_of_JobInfo_mArrayList = new ArrayList();
                        values_of_JobInfo_mArrayList = new ArrayList();
                        CANNOTE_mArrayList = new ArrayList();

                        gettingDataFromMainArray_mJSonObject = gotGroups_mJsonArray.get(i).getAsJsonObject();
                        childClass = new Child();
                        childClass.setColors(colors);
                        try {
                            jsonResult = new JSONObject(String.valueOf(gettingDataFromMainArray_mJSonObject));
                            gettingDocumentArray_mJsonArray = jsonResult.getJSONArray("document");

                            for (int array = 0; array < gettingDocumentArray_mJsonArray.length(); array++) {
                                if (gettingDocumentArray_mJsonArray.length() == 0) {

                                } else {
                                    String filename = gettingDocumentArray_mJsonArray.getJSONObject(i).getString("filename");
                                    String document_url = gettingDocumentArray_mJsonArray.getJSONObject(i).getString("document_url");
                                    HashMap<String, String> documentHashMapData = new HashMap<>();
                                    documentHashMapData.put("filename", filename);
                                    documentHashMapData.put("document_url", document_url);
                                    document_mArrayListHashMap.add(documentHashMapData);
                                }
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                        childClass.setDocument_mArrayList(document_mArrayListHashMap);
                        document_mArrayList.add(String.valueOf(document_mArrayListHashMap.size()));
                        job_info_mJSonElement = gettingDataFromMainArray_mJSonObject.getAsJsonObject().get("job_info");
                        if (job_info_mJSonElement.isJsonObject()) {
                            try {
                                jsonObjForJobInfo = new JSONObject(String.valueOf(gettingDataFromMainArray_mJSonObject.getAsJsonObject().get("job_info")));

                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                            Iterator iterators = jsonObjForJobInfo.keys();
                            while (iterators.hasNext()) {
                                key = (String) iterators.next();
                                _pubKey = jsonObjForJobInfo.optString(key);
                                keys_of_JobInfo_mArrayList.add(key);
                                values_of_JobInfo_mArrayList.add(_pubKey);
                            }
                        } else if (job_info_mJSonElement.isJsonArray()) {
                        }



                  leg_id_mJSonElement = gotGroups_mJsonArray.get(i).getAsJsonObject().getAsJsonObject().get("leg_id");

                //Setting data in  Arraylist ;

                        legListArrayList.add(String.valueOf(leg_id_mJSonElement));
                        fdata.add(String.valueOf(leg_id_mJSonElement));

                     groupClass.setItems(child_list);

                    //Setting   Arraylist  in  Groupmodel class;

                    groupClass.setLegListAccToGroup_mArrayList(legListArrayList);
                    groupsList.add(groupClass);

                    //Now , when i am getting data inside the loop, getting same data as it is i want.




                }
              //But  , when i am getting data outside the loop, it saves last value only




                groupsAdapter = new GroupsAdapter(context, groupsList);
                childClass.setColors(colors);
                recycler_onHome_Act_mExpandableListView.setAdapter(groupsAdapter);

            } else if (errorElemnt.isJsonArray()) {
                Toast.makeText(context, "No Data!!", Toast.LENGTH_SHORT).show();
                Log.e("JSONArray", "--" + errorElemnt.isJsonArray());
            }
        }
    }, new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();

            return params;
        }
    };
    queue.add(postRequest);
}
公共静态JsonElement title_mJSonElement、chase_truck_mJSonElement、consulate_url_mJSonElement、,
集装箱号、车队号、司机名、,
来自客户城市的货运类型要素;
公共静态JsonElement leg_id_mJSonElement;
公共静态子类;
公共静态组groupClass;
公共静态语境;
公共静态字符串[]颜色=新字符串[]{“#2E9AFE”、“#58FAF4”、“#D8F781”、“#FF00FF”、“#9AFE2E”、“#F5DA81”、“#0B0B3B”、“#D8F781”、“#F2F5A9”、“#1E90FF”、“#EE6495ED”、“ťE6FA”、ť;
公共静态JsonObject从MainArraymJSONObject获取数据;
公共静态JSONObject JSONOBJECTForJobInfo;
公共静态数组列表键\u的\u JobInfo\u mArrayList;
公共静态数组列表值\u的\u工作信息\u婚姻列表;
公共静态ArrayList文档\u mArrayListHashMap;
公共静态ArrayList文档\婚姻列表;
公共静态ArrayList CANNOTE_mArrayList;
公共静态字符串密钥_pubKey;
公共静态JSONObject jsonResult;
公共静态数组列表tetsingg;
公共静态数组列表fdata;
公共静态HomeFragment newInstance(int页){
HomeFragmentFirst=新的HomeFragment();
Bundle args=新Bundle();
args.putInt(“someInt”,第页);
fragmentFirst.setArguments(args);
首先返回碎片;
}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.fragment\u home,container,false);
inits();
返回视图;
}
私有void inits(){
context=getActivity();
覆盖(上下文、视图、findViewById(R.id.home\u mRelativeLayout));
recycler\u onHome\u Act\u MeExpandableListView=(ExpandableListView)视图。findViewById(R.id.recycler\u onHome\u Act\u MeExpandableListView);
groupsList=newarraylist();
child_list=new ArrayList();
childClass=新的子类();
showProgressDialog(上下文);
GettingMainLegList();
}
@凌驾
恢复时公开作废(){
super.onResume();
}
公共静态void gettingMainLegList(){
RequestQueue=Volley.newRequestQueue(上下文);
字符串ss=”https://testing.freighttracker.com.au/";
int pageNum=1;
int pageSize=3;
最后一个字符串url=ss+“api/GetLegList”+“?”+”&useraccesstoken=“+GlobalClass.getAccessToken()+”&PageNumber=“+pageNum+”&PageSize=“+PageSize;
StringRequest postRequest=newStringRequest(Request.Method.GET,url,new com.android.volley.Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
Log.e(“responseReso”、“--”+url);
取消进程对话框();
最终ArrayList frnListPost=新ArrayList();
JsonObject main response_mJsonObject=(JsonObject)新建JsonParser().parse(response);
Log.e(“HomeFragment”,“main-response\u-mJsonObject”);
JsonObject dataObj_mJsonObject=main响应_mJsonObject.get(“数据”).getAsJsonObject();
JsonElement errorElemnt=dataObj_mJsonObject.get(“leg_list”);
if(errorElemnt.isJsonObject()){
Log.e(“JsonObject”,“--”+errorElemnt.isJsonObject());
JsonObject legListObj_mJsonObject=dataObj_mJsonObject.get(“leg_list”).getAsJsonObject();
JSONArray获取文件阵列;
对于(Map.Entry dynamic_ObjOF_Group:legListObj_mJsonObject.entrySet()){
fdata=newarraylist();
HashMap HashMap_post=新的HashMap();
JsonArray gotGroups_mJsonArray=dynamic_ObjOF_Group.getValue().getAsJsonArray();
groupClass=新组();
setName(dynamic_ObjOF_Group.getKey());
child_list=new ArrayList();
//初始化组循环中的Arraylist;
legListArrayList=新的ArrayList();
tetsingg=newarraylist();
对于(int i=0;i