Привет в коде, который я использую recyclerview для отображения списка. Я звоню в APi и разыскиваю список. Но в этом списке содержатся данные, связанные с контентом.
Я хочу отфильтровать список и отобразить его в единый элемент списка
Например, элементы списка содержат имя и подробности, а также уникальный номер. Хотите отобразить все содержимое: имя
образец json ответ:
"blocks": [
{
"label": "Basic Information",
"fields": [
{
"name": "sales_stage",
"value": "Opportunity",
"label": "Sales Stage",
"uitype": "15",
"type": {
"defaultValue": null
}
},
{
"name": "potentialname",
"value": "GVN hospital-Falco",
"label": "Opportunity Name",
"uitype": "2",
"type": {
"defaultValue": null
}
},
{
"name": "assigned_user_id",
"value": {
"value": "19x84",
"label": "Chandra Mouli N"
},
"label": "Assigned To",
"uitype": "53",
"type": {
"defaultValue": {
"value": "19x1",
"label": "Administrator"
}
}
},
{
"name": "potential_no",
"value": "GW/OPP/100743",
"label": "Opportunity Number",
"uitype": "4",
"type": {
"defaultValue": null
}
}
{"label": "Products",
"fields": [
{
"name": "productid",
"value": {
"value": "14x33080",
"label": "CS 30"
},
"label": "Item Name",
"uitype": "10",
"type": {
"defaultValue": null
}
},]
}
]
}]
"blocks": [
{
"label": "Basic Information",
"fields": [
{
"name": "sales_stage",
"value": "Opportunity",
"label": "Sales Stage",
"uitype": "15",
"type": {
"defaultValue": null
}
},
{
"name": "potentialname",
"value": "GVN hospital-Falco",
"label": "Opportunity Name",
"uitype": "2",
"type": {
"defaultValue": null
}
},
{
"name": "assigned_user_id",
"value": {
"value": "19x84",
"label": "Chandra Mouli N"
},
"label": "Assigned To",
"uitype": "53",
"type": {
"defaultValue": {
"value": "19x1",
"label": "Administrator"
}
}
},
{
"name": "potential_no",
"value": "GW/OPP/100743",
"label": "Opportunity Number",
"uitype": "4",
"type": {
"defaultValue": null
}
}]
{"label": "Products",
"fields": [
{
"name": "productid",
"value": {
"value": "14x33080",
"label": "CS 30"
},
"label": "Item Name",
"uitype": "10",
"type": {
"defaultValue": null
}
},]
}]
Фактический вывод:
пример: список1: имя: продукт XYZ: 123 список2: имя: продукт XYZ: список ABC3: имя: продукт XYZ: 1234
Ожидаемый результат: список: имя: XYZ продукт: 123, AB c, 1234
Java:
private void fetchJSONForSales(){
handler.postDelayed(new Runnable() {
@Override
public void run() {
sessionId = getActivity().getIntent().getStringExtra("sessionId");
String operation = "syncModuleRecords";
String module = "Potentials";
String syncToken="";
String mode="public";
final GetNoticeDataService service = RetrofitInstance.getRetrofitInstance().create(GetNoticeDataService.class);
/** Call the method with parameter in the interface to get the notice data*/
Call<SyncModule> call = service.GetSyncModuleList(operation, sessionId, module,syncToken,mode);
/**Log the URL called*/
Log.i("URL Called", call.request().url() + "");
call.enqueue(new Callback<SyncModule>() {
@Override
public void onResponse(Call<SyncModule> call, Response<SyncModule> response) {
Log.e("response", new Gson().toJson(response.body()));
if (response.isSuccessful()) {
Log.e("response", new Gson().toJson(response.body()));
SyncModule syncModule = response.body();
String success = syncModule.getSuccess();
if (success.equals("true")) {
SyncResults results = syncModule.getResult();
Sync sync=results.getSync();
ArrayList<SyncUpdated> syncUpdateds=sync.getUpdated();
for(SyncUpdated syncUpdated:syncUpdateds){
ArrayList<SyncBlocks> syncBlocks=syncUpdated.getBlocks();
String title = "";
String value = "";
String potentialValue = "";
String potentialNo = "";
String assigned = "";
String contact = "";
String location = "";
String related = "";
String winprobValue = "";
String valueAndQty = "";
String productValue = "";
String quantity = "";
String salesstageValue="";
String employee="";
String leadsource="";
String remark_sales_person="";
String segment="";
String modality="";
String circle="";
String prospect_type="",equ_details="",sale_type="",createdtime="",modifiedtime="",modifiedby="",closingdate="",exp_delivery_date="",pndt="",demo_done="",s_i="",demo_date="",fun_req="",site_read="",
support_person="",support_type="",opportunity_type="",department="",rating="",interest_type="",
txt_adj="",hdnS_H_Amount="",pre_tax_total="",hdnSubTotal="",listprice="",comment="",discount_amount="",tax1="",tax2="",tax3="",lost_reason="",
competition_name="",price_quoted="",general_remark="",description="",termsnconditions="";
String mobie = sharedPreferences.getString("mobiles", null);
for (SyncBlocks syncBlocks1 : syncBlocks) {
String label = syncBlocks1.getLabel();
//Basic Information
if (label.equals("Basic Information")) {
ArrayList<SynFields> synFields = syncBlocks1.getFields();
for (SynFields synFields1 : synFields) {
String name = synFields1.getName();
values = synFields1.getValue();
if (name.equals("sales_stage")) {
salesstageValue = String.valueOf(values);
} else if (name.equals("potentialname")) {
potentialValue = String.valueOf(values);
} else if (name.equals("assigned_user_id")) {
try {
Gson gson = new Gson();
String strJson = gson.toJson(values);
JSONObject jsonObject = new JSONObject(strJson);
String v = jsonObject.getString("label");
// assigned_tos.add(v);
assigned = v;
} catch (Exception ex) {
Log.e("SalesStageFragment", "Exception is : " + ex.toString());
}
} else if (name.equals("related_to")) {
try {
Gson gson = new Gson();
String strJson = gson.toJson(values);
JSONObject jsonObject = new JSONObject(strJson);
String v = jsonObject.getString("label");
// assigned_tos.add(v);
related = v;
} catch (Exception ex) {
Log.e("SalesStageFragment", "Exception is : " + ex.toString());
}
} else if (name.equals("contact_id")) {
try {
Gson gson = new Gson();
String strJson = gson.toJson(values);
JSONObject jsonObject = new JSONObject(strJson);
String v = jsonObject.getString("label");
contact = v;
} catch (Exception ex) {
Log.e("SalesStageFragment", "Exception is : " + ex.toString());
}
} else if (name.equals("potential_no")) {
potentialNo = String.valueOf(values);
} else if (name.equals("location")) {
location = String.valueOf(values);
}else if (name.equals("employee")) {
employee = String.valueOf(values);
}else if (name.equals("leadsource")) {
leadsource = String.valueOf(values);
}else if (name.equals("cf_954")) {
remark_sales_person = String.valueOf(values);
}else if (name.equals("segment")) {
segment = String.valueOf(values);
}else if (name.equals("modality")) {
modality = String.valueOf(values);
}else if (name.equals("circle")) {
circle = String.valueOf(values);
}
}
} else if (label.equals("Opportunity Details")) {
ArrayList<SynFields> synFields = syncBlocks1.getFields();
for (SynFields synFields1 : synFields) {
String name = synFields1.getName();
values = synFields1.getValue();
if (name.equals("cf_996")) {
title = String.valueOf(values);
} else if (name.equals("cf_897")) {
winprobValue = String.valueOf(values);
}else if (name.equals("cf_960")) {
prospect_type = String.valueOf(values);
}else if (name.equals("cf_1010")) {
equ_details = String.valueOf(values);
}else if (name.equals("cf_992")) {
sale_type = String.valueOf(values);
}else if (name.equals("createdtime")) {
createdtime = String.valueOf(values);
}else if (name.equals("modifiedtime")) {
modifiedtime = String.valueOf(values);
} else if (name.equals("modifiedby")) {
try {
Gson gson = new Gson();
String strJson = gson.toJson(values);
JSONObject jsonObject = new JSONObject(strJson);
String v = jsonObject.getString("label");
modifiedby = v;
} catch (Exception ex) {
Log.e("SalesStageFragment", "Exception is : " + ex.toString());
}
}else if (name.equals("closingdate")) {
closingdate = String.valueOf(values);
}else if (name.equals("cf_1000")) {
exp_delivery_date = String.valueOf(values);
}else if (name.equals("cf_998")) {
pndt = String.valueOf(values);
}else if (name.equals("demo_done")) {
demo_done = String.valueOf(values);
}else if (name.equals("cf_903")) {
s_i = String.valueOf(values);
}else if (name.equals("demo_date")) {
demo_date = String.valueOf(values);
}else if (name.equals("cf_899")) {
fun_req = String.valueOf(values);
}else if (name.equals("cf_1002")) {
site_read = String.valueOf(values);
}else if (name.equals("cf_1004")) {
support_person = String.valueOf(values);
}else if (name.equals("cf_1006")) {
support_type = String.valueOf(values);
}else if (name.equals("opportunity_type")) {
opportunity_type = String.valueOf(values);
}
}
}
}
String rupee = getResources().getString(R.string.Rs);
int paswd = (int) Double.parseDouble(quantity);
String qty=String.valueOf(paswd);
ModelTest modelTest = new ModelTest(potentialValue,related,assigned,contact,location,productValue,rupee.concat(valueAndQty),
potentialNo,mobie,competition_name,circle,closingdate,comment,createdtime,demo_date,demo_done,department
,description,discount_amount,equ_details,employee,exp_delivery_date,fun_req,general_remark,hdnS_H_Amount,hdnSubTotal,
interest_type,lost_reason,leadsource,listprice,modality,modifiedby,modifiedtime,opportunity_type,pre_tax_total,pndt,price_quoted,prospect_type,
rating,remark_sales_person,sale_type,support_type,s_i,segment,site_read,txt_adj,tax1,tax2,tax3,termsnconditions,winprobValue,support_person,qty,salesstageValue);
if(salesstageValue.equals("Opportunity")){
listSalesStageOpportunity.add(modelTest);
opportunityAdapter.notifyDataSetChanged();