Home » Android » Images not loading from JSON file to Listview

Images not loading from JSON file to Listview

Posted by: admin November 1, 2017 Leave a comment


The application works when i have hardcoded the URL into ReadJSON().execute( my url here);

However after changing the url to textinput it will not load images.

This is the expected result: https://imgur.com/a/QyKG1

Here is the entire file: https://pastebin.com/e6Q5ViuS

Here is the code that contains the error:

class ReadJSON extends AsyncTask<String, Integer, String> {

        protected String doInBackground(String... params) {
            return readURL(params[0]);

        protected void onPostExecute(String content) {
            try {

                JSONArray jsonArray = new JSONArray(content);

                for(int i =0;i<jsonArray.length(); i++){
                    JSONObject productObject = jsonArray.getJSONObject(i);
                    arrayList.add(new Product(

            } catch (JSONException e) {
            CustomListAdapter adapter = new CustomListAdapter(
                    getApplicationContext(), R.layout.custom_list_layout, arrayList

    private static String readURL(String theUrl) {
        StringBuilder content = new StringBuilder();
        try {
            // create a url object
            URL url = new URL(theUrl);
            // create a urlconnection object
            URLConnection urlConnection = url.openConnection();
            // wrap the urlconnection in a bufferedreader
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            String line;
            // read from the urlconnection via the bufferedreader
            while ((line = bufferedReader.readLine()) != null) {
                content.append(line + "\n");
        } catch (Exception e) {
        return content.toString();

The problem is here:


You did not initialize txtUrl, which means that Android does not know what the txtUrl is. You can change it to this:

txtUrl = (EditText) findViewById(R.id.youredittextid);
EditTextValue = txtUrl.getText().toString();