gpt4 book ai didi

android - 在 fragment 中设置 simpleAdapter 时获取红旗 (onPostExecute)

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:51 26 4
gpt4 key购买 nike

我正在尝试将 JSON 数据(图像 url)解析为 gridView。我能够从 JSON 获取数据,但是当我尝试设置 simpleAdapter 以在 gridView 上显示它们时,我得到了一个红旗:

构造函数 SimpleAdapter(SalesFragment, List>, int, String[], int[]) 未定义。

我在谷歌上搜索过,但找不到任何解决方案。请帮助...

销售 fragment .java

    public class SalesFragment extends Fragment {
GridView gridView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View gv = inflater.inflate(R.layout.hot_sales, null);
gridView = (GridView) gv.findViewById(R.id.grid_view);
//gridView.setAdapter(new ImageAdapter(this, getActivity()));
bindGridview();
return gv;
}

public void bindGridview() {

new MyAsyncTask(getActivity(),gridView).execute("");
}

class MyAsyncTask extends AsyncTask<String, String, String> {
GridView mGridView;
Activity mContext;
Response response;
public MyAsyncTask(Activity context,GridView gview) {
this.mGridView=gview;
this.mContext=context;
}

protected String doInBackground(String... params) {

try{
// here getting JSON data using GSON
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (@SuppressWarnings("hiding") IOException e){
e.printStackTrace();
}
}else{
System.out.println("Error");
}
return null;
}

@Override
protected void onPostExecute(String result) {


super.onPostExecute(result);

List<HashMap<String,String>> aList1 = new ArrayList<HashMap<String,String>>();

for(Sales sales : this.response.sales){
HashMap<String, String> hm = new HashMap<String,String>();

if (sales.getCategories1().contains("12")){
//getting the data
}
aList1.add(hm);
}
}

SimpleAdapter adapter = new SimpleAdapter(SalesFragment.this, aList1,
R.layout.grid_sales, new String[] { "shop_image"},new int[] { R.id.sale_image });
// updating gridview
gridView.setAdapter(adapter);
}
}

最佳答案

你应该改变这个:

SimpleAdapter adapter = new SimpleAdapter(SalesFragment.this, aList1,
R.layout.grid_sales, new String[] { "shop_image"},new int[] { R.id.sale_image });

SimpleAdapter adapter = new SimpleAdapter(getActivity(), aList1,
R.layout.grid_sales, new String[] { "shop_image"},new int[] { R.id.sale_image });

如果您已经为您的 fragment 创建了上下文,那么您也可以使用那个上下文代替 getActivity()。

关于android - 在 fragment 中设置 simpleAdapter 时获取红旗 (onPostExecute),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18613459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com