Как добавить данные с общими предпочтениями в Spinner в Android? - PullRequest
0 голосов
/ 01 октября 2018

В BaseActivity я получаю ответ JSON, используя модификацию, и сохраняю его в разделяемом предпочтении.В ответе JSON содержится несколько списков, из которых я хочу получить определенный список и добавить в раскрывающийся список.

Хранение ответа JSON в sharedpreference

 SharedPreferences sharedpreferences = getSharedPreferences("GenderResponse", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedpreferences.edit();
                Gson gson = new Gson();
                String json = gson.toJson(heroList);
                editor.putString("genderResponse",json);
                Log.d("gson","gson"+json);
                editor.commit();

Получение данных с помощью sharedpreference во фрагменте.

 SharedPreferences sharedPreferences = this.getActivity().getSharedPreferences("GenderResponse",Context.MODE_PRIVATE);
//        genderResponse2 = Collections.singletonList(sharedPreferences.getString("genderResponse", ""));

        Gson gson = new Gson();
        String json = sharedPreferences.getString("genderResponse","");
        Example example = gson.fromJson(json,Example.class);
        **genderResponse2 = Collections.singletonList(example.getMeetmeConfig().getConfigContent().getGender());**
        Log.v("genderResponse","genderResponse"+genderResponse2);
        ArrayAdapter<CharSequence> myAdapter = new ArrayAdapter<CharSequence>(this.getActivity(),android.R.layout.simple_expandable_list_item_1,genderResponse2);
        Log.e("myAdapter","myAdapter:"+myAdapter);
        myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        genderDropDown.setAdapter(myAdapter);

Данные отображаются в счетчике, но вJSON формат, есть ли способ, пожалуйста, руководство. JSON-ответ

{
    "statusCode": "200",
    "statusMessage": "SUCCESS",
    "meetmeConfig": {
        "id": "bb52dc0f-29d0-4079-99c7-a07c8045a829",
        "moduleName": "MeetMe",
        "createdDate": 1523962430721,
        "configContent": {
            "trackingOptions": [
                {
                    "optionName": "Before the meet",
                    "isTimeRequired": true,
                    "trackingTime": [
                        5,
                        10,
                        15
                    ],
                    "isDeleted": false
                },
                {
                    "optionName": "After the meet",
                    "isTimeRequired": true,
                    "trackingTime": [
                        5,
                        10,
                        15
                    ],
                    "isDeleted": false
                },
                {
                    "optionName": "At the start",
                    "isTimeRequired": false,
                    "trackingTime": [],
                    "isDeleted": false
                },
                {
                    "optionName": "Never",
                    "isTimeRequired": false,
                    "trackingTime": [],
                    "isDeleted": false
                }
            ],
            "numberOfParticipants": 8,
            "mapResetTimeInterval": 30,
            "meetingTrackableTime": 3600,
            "addressTypes": [
                "Home",
                "Work"
            ],
            "transportModes": [
                "Walking",
                "Driving"
            ],
            "gender": [
                "Male",
                "Female",
                "Trans-Female",
                "Bi-Gender",
                "Non-Binary",
                "Gender nonconfirming",
                "Undisclosed",
                "Rather not say"
            ],
            "toastDelayTimeForPulse": 3,
            "syncToastMaxTimeInterval": 300,
            "syncToastThirdTimeInterval": 180,
            "firstTimeInterval": 1,
            "secondTimeInterval": 2,
            "meetmeSearchContactTimeInterval": 2,
            "signupToastDelayTime": 4,
            "signupToastdelatimebysix": 6,
            "signupToastDelayMedium": 5,
            "profileToastDelayTime": 4,
            "profileToastDelatimebysix": 6,
            "languages": [
                "English",
                "Spanish",
                "Marathi",
                "Hindi",
                "Bengali",
                "French",
                "Arabic",
                "German",
                "Italian",
                "Dutch",
                "Japanese",
                "Russia",
                "Korean"
            ]
        }
    }
}
...