在下面基于类型名称的代码中,您想为旋转器设置picklistvalues。在以下响应中,来自服务器,如果名称等于行业,则将标签/值设置为旋转器>
我在下面尝试过这样的代码是我找不到错误的地方
有谁能帮助我解决这个问题
响应:
"fields": [
{
"name": "industry",
"label": "Ownership Type",
"mandatory": true,
"type": {
"picklistValues": [
{
"label": "Proprietor",
"value": "Proprietor"
},
{
"label": "Partnership",
"value": "Partnership"
},
{
"label": "Pvt Ltd",
"value": "Pvt Ltd"
},
{
"label": "Trust",
"value": "Trust"
},
{
"label": "Society",
"value": "Society"
},
{
"label": "Foundation",
"value": "Foundation"
},
{
"label": "Hospital",
"value": "Hospital"
},
{
"label": "Private Clinic",
"value": "Private Clinic"
},
{
"label": "LLP",
"value": "LLP"
},
{
"label": "Limited",
"value": "Limited"
}
],
"defaultValue": "Proprietor",
"name": "picklist"
},
"isunique": false,
"nullable": true,
"editable": true,
"default": "",
"headerfield": "0",
"summaryfield": "0"
},
Describe.java:
private void describe() {
sessionId = getActivity().getIntent().getStringExtra("sessionId");
String operation = "describe";
String module="Accounts";
final GetNoticeDataService service = RetrofitInstance.getRetrofitInstance().create(GetNoticeDataService.class);
/** Call the method with parameter in the interface to get the notice data*/
Call<AccountDescribe> call = service.GetFieldDetailsList(operation, sessionId, module);
/**Log the URL called*/
Log.i("URL Called", call.request().url() + "");
call.enqueue(new Callback<AccountDescribe>() {
@Override
public void onResponse(Call<AccountDescribe> call, Response<AccountDescribe> response) {
Log.e("response",new Gson().toJson(response.body()));
if (response.isSuccessful()) {
Log.e("response",new Gson().toJson(response.body()));
AccountDescribe accountDescribe = response.body();
TypeDetails typeDetails;
String success = accountDescribe.getSuccess();
if (success.equals("true")) {
Results_Account results=accountDescribe.getResult();
//
//parse describe details
DescribeDetails describeDetails = results.getDescribe();
String label = describeDetails.getLabel();
String name=describeDetails.getName();
//parse fields details
ArrayList<Fields> fields = describeDetails.getFields();
// Log.e("fields", String.valueOf(fields));
// //parse fields information
for(Fields field: fields) {
String fieldName = field.getName();
String fieldLabel = field.getLabel();
typeDetails=field.getType();
String ind_names=typeDetails.getName();
if(ind_names.equals("industry")) {
ArrayList<PickListValues> pickListValues = typeDetails.getPicklistValues();
for (PickListValues pickListValues1 : pickListValues) {
String pick_label = pickListValues1.getLabel();
String pick_value = pickListValues1.getValue();
picklistvaluesnames.add(pick_value);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, picklistvaluesnames);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
}
}