将数据填充到 Listview 但 Arrayadapter 不工作
Posted
技术标签:
【中文标题】将数据填充到 Listview 但 Arrayadapter 不工作【英文标题】:Populate Data to Listview but Arrayadapter not working 【发布时间】:2020-02-10 08:57:26 【问题描述】:我正在尝试将数据从我的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】:ArrayAdapter(activity2.SendPostRequest,int,int,ArrayList>)
问题是您将其作为第一个参数传递给适配器以提供上下文。
constructor ArrayAdapter.ArrayAdapter(Context,int,int,HashMap<String,String>[])
Solution
而不是这个pass this
getContext() or getActivity()
因为这可能指向不同的上下文,具体取决于您使用的是什么。
请参阅此link 以深入了解this
keyword
【讨论】:
@Arul_Mani 那么我需要更改哪一部分? @Arul_Mani 因为我把它改成了ArrayAdapter<HashMap<String, String>> adapter = new ArrayAdapter<HashMap<String, String>>(this.getActivity(),android.R.layout.simple_list_item_1, android.R.id.text1, arrayList);
但.getActivity
是红色的
而不是“this”传递getActivity或getContext()
@Arul_Mani 那么这段代码应该是什么样子(对不起,如果我不检查它:))
@Arul_Mani 所以它应该看起来像这样还是?:ArrayAdapter<HashMap<String, String>> adapter = new ArrayAdapter<HashMap<String, String>>(activity2.this, android.R.layout.simple_list_item_1, android.R.id.text1, arrayList);
以上是关于将数据填充到 Listview 但 Arrayadapter 不工作的主要内容,如果未能解决你的问题,请参考以下文章