2

So I've been working on web services. But I'm stuck with this problem I don't know how to display image in my listview. I got my data from JSON array. Below is my code:

  // url to make request
private static String url = "http://alyssayango.x10.mx/";

private static final String TAG_TYPE = "movie_type";
private static final String TAG_NAME = "movie_name";
private static final String TAG_LENGTH = "movie_length";
private static final String TAG_SCHEDULES = "movie_schedules";
private static final String TAG_CINEMA = "movie_cinema_number";
private static final String TAG_URL = "movie_image_url";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String readMovieSchedules = readMovieSchedules();

    // Hashmap for ListView
    ArrayList<HashMap<String, String>> movieList = new ArrayList<HashMap<String, String>>();

    try {
      JSONArray jsonArray = new JSONArray(readMovieSchedules);
      Log.i(MainActivity.class.getName(),
          "Number of entries " + jsonArray.length());
      for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject jsonObject = jsonArray.getJSONObject(i);
        Log.i(MainActivity.class.getName(), jsonObject.getString("movie_name"));

        // Storing each json item in variable
        String name = jsonObject.getString(TAG_NAME);
        String type = jsonObject.getString(TAG_TYPE);
        String length = jsonObject.getString(TAG_LENGTH);
        String cinema = jsonObject.getString(TAG_CINEMA);
        String schedules = jsonObject.getString(TAG_SCHEDULES);
        String url = jsonObject.getString(TAG_URL);

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

        // adding each child node to HashMap key => value
        map.put(TAG_NAME, name);
        map.put(TAG_TYPE, type);
        map.put(TAG_LENGTH, length);
        map.put(TAG_CINEMA, cinema);
        map.put(TAG_SCHEDULES, schedules);
        map.put(TAG_URL, url);

        // adding HashList to ArrayList
        movieList.add(map);

        String strURL = TAG_URL.replaceAll(" ", "%20");

        /**
         * Updating parsed JSON data into ListView
         * */
        ListAdapter adapter = new SimpleAdapter(this, movieList,
                R.layout.list_item,
                new String[] { strURL, TAG_NAME, TAG_CINEMA, TAG_SCHEDULES }, 
                new int[] { R.id.image, R.id.name, R.id.cinema, R.id.schedules });

        setListAdapter(adapter);
        // selecting single ListView item
        ListView lv = getListView();

The result only displays the text not the image and my logcat throws: resolveURi failed on bad bitmap uri: http://www.sample.com/file.jpg

Help is MUCH appreciated. I'm new to android.

1 Answer 1

1

Use ImageLoader , Utils, FileCache, and MemoryCache.java file and in you adapter write this code

ImageLoader iv_loader = new ImageLoader(main_activity.context); iv_loader.DisplayImage(msgs.Image,image); return v; msgs is the class name variable where to get position of click item. image is the Image View name.

I hope and sure that this code works fine

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.