【发布时间】:2018-01-01 10:43:00
【问题描述】:
我正在尝试使用 Volley 在 Fragment 中使用 GSON 解析 JSON。但是我在两个地方遇到了编译时错误
new Response.Listener<String>: 说 Listener 无法解析new Response.ErrorListener():说ErrorListener无法解析-
无法解析方法“fromJson”
public class Gson extends Fragment { RecyclerView recyclerView; Response responseobj; CustomAdapter customAdapter; String url = "https://newsapi.org/v1/articles?source=techcrunch&apiKey=ed28d2d13805495a9b896ecb0c7b6ed1"; Gson gson; RequestQueue requestQueue; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.gson, container, false); recyclerView = (RecyclerView) view.findViewById(R.id.movielist); requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext()); StringRequest stringRequest = new StringRequest( com.android.volley.Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // Do something with the response gson = new Gson(); responseobj = gson.fromJson(response, Response.class); customAdapter = new CustomAdapter(getActivity().getApplicationContext(), responseobj.getArticles()); recyclerView.setAdapter(customAdapter); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // Handle error } }); //returning our layout file //change R.layout.yourlayoutfilename for each of your fragments requestQueue.add(stringRequest); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //you can set the title for your toolbar here for different fragments different titles getActivity().setTitle("GSON Parsing"); } }
【问题讨论】:
-
使用Retrofit库进行json解析是一种更好的做法,效率更高,速度更快
-
检查
Response.Listener的导入 -
能不能把Response类的代码传过来,我觉得问题出在这里,
标签: android gson android-volley