OnClick打开URL(Json,ListView)Android

时间:2015-08-06 18:49:18

标签: android arrays json android-listview

你好我在json中有一个项目列表(listview)这里是代码:

listView = (ListView) v.findViewById(R.id.list);
    adapter = new CustomListAdapter(getActivity(), movieList);
    listView.setAdapter(adapter);

    pDialog = new ProgressDialog(getActivity());
    // Showing progress dialog before making http request
    pDialog.setMessage("Loading...");
    pDialog.show();

    // Creating volley request obj
    JsonArrayRequest movieReq = new JsonArrayRequest(url,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    Log.d(TAG, response.toString());
                    hidePDialog();

                    // Parsing json
                    for (int i = 0; i < response.length(); i++) {
                        try {

                            JSONObject obj = response.getJSONObject(i);
                            Movie movie = new Movie();
                            movie.setTitle(obj.getString("title"));
                            movie.setThumbnailUrl(obj.getString("image"));
                            movie.setRating(((Number) obj.get("rating"))
                                    .doubleValue());
                            movie.setYear(obj.getInt("releaseYear"));

                            // Genre is json array
                            JSONArray genreArry = obj.getJSONArray("genre");
                            ArrayList<String> genre = new ArrayList<String>();
                            for (int j = 0; j < genreArry.length(); j++) {
                                genre.add((String) genreArry.get(j));
                            }
                            movie.setGenre(genre);

                            // adding movie to movies array
                            movieList.add(movie);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }

                    // notifying list adapter about data changes
                    // so that it renders the list view with updated data
                    adapter.notifyDataSetChanged();
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.d(TAG, "Error: " + error.getMessage());
            hidePDialog();

        }
    });

这是Json文件:

"title": "Dawn of the Planet of the Apes",
    "image": "http://api.androidhive.info/json/movies/1.jpg",
    "rating": 8.3,
    "releaseYear": 2014,
    "genre": ["Action", "Drama", "Sci-Fi"]
},
{
    "title": "District 9",
    "image": "http://api.androidhive.info/json/movies/2.jpg",
    "rating": 8,
    "releaseYear": 2009,
    "genre": ["Action", "Sci-Fi", "Thriller"]
},
{
    "title": "Transformers: Age of Extinction",
    "image": "http://api.androidhive.info/json/movies/3.jpg",
    "rating": 6.3,
    "releaseYear": 2014,
    "genre": ["Action", "Adventure", "Sci-Fi"]
},
{
    "title": "X-Men: Days of Future Past",
    "image": "http://api.androidhive.info/json/movies/4.jpg",
    "rating": 8.4,
    "releaseYear": 2014,
    "genre": ["Action", "Sci-Fi", "Thriller"]
},

我想在json的每个项目中添加一个Link,类似于“url”:“http://google.com”,并且应用程序打开链接(Action_VIEW)。抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

请查看:

col<list.length

对于Action View:将这些代码放入Click Listner:

col<list[row].length

注意:我想你知道如何从bean获取数据。