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