Заполнить данные в Listview, но Arrayadapter не работает - PullRequest
1 голос
/ 13 октября 2019

Я пытаюсь заполнить данные из моего arrayList в просмотр списка. Но по какой-то причине я получаю ошибку error: no suitable constructor found for ArrayAdapter(activity2.SendPostRequest,int,int,ArrayList<HashMap<String,String>>) constructor ArrayAdapter.ArrayAdapter(Context,int,int,HashMap<String,String>[]) is not applicable

                JSONArray json = new JSONArray(data);
                ArrayList<HashMap<String, String>>  arrayList = new ArrayList<HashMap<String, String>>();

                HashMap<String, String> map = new HashMap<String, String>();

                try {
                for(int i=0;i<json.length();i++){
                    JSONObject e =json.getJSONObject(i);

                    map.put("id", String.valueOf(i));
                    map.put("Name", "Vorname: " + e.getString("meta_value"));
                    map.put("orderid", "id: " + e.getString("post_id"));
                    arrayList.add(map);
                    return map.toString();
                }
                    ArrayAdapter<HashMap<String, String>> adapter = new ArrayAdapter<HashMap<String, String>>(this,android.R.layout.simple_list_item_1, android.R.id.text1, arrayList);

                list.setAdapter(adapter);
                }catch (JSONException e){
                    Log.e(this.getClass().getName(), "Some JSON error occurred" + e.getMessage());

                }

Не могу найти где-нибудь решение

1 Ответ

1 голос
/ 13 октября 2019

ArrayAdapter (activity2.SendPostRequest, int, int, ArrayList>)

Проблема в том, что вы передаете это в качестве первого параметра для предоставления контекста адаптеру.

constructor ArrayAdapter.ArrayAdapter(Context,int,int,HashMap<String,String>[])

Solution

Вместо этого прохода this

getContext() or getActivity()

, поскольку это может указывать на различные контексты, зависит от того, где вы используете.

Обратитесь к этой ссылке , чтобы получить представление о this ключевом слове

...