title: My List View is not getting populated
body: <p>I am trying to parse json data and to display that on my custom list view. </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>public class MainActivity extends Activity {
  
   ListView list;
   ArrayList&lt;listview&gt; array_list = new ArrayList&lt;listview&gt;();
  
   class listview {
    String description;
  
    public listview(String description) {
     this.description = description;
    }
   }
   
   class MyAdapter extends BaseAdapter {  
    
    
  
    public MyAdapter(Context context) {   
    }
  
    @Override
    public int getCount() {
     return array_list.size();
    }
  
    @Override
    public Object getItem(int position) {
     return array_list.get(position);
    }
  
    @Override
    public long getItemId(int position) {
     return position;
    }
  
    @SuppressLint("ViewHolder")
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
     LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     View view = inflater.inflate(R.layout.listview, parent, false);
     TextView description = (TextView) view
       .findViewById(R.id.description);
     listview list = array_list.get(position);
     description.setText(list.description);
     return view;
    }
   }
  
   class getJson_data extends AsyncTask&lt;Void, Void, Void&gt; {
  
    @Override
    protected Void doInBackground(Void... params) {
  
     Get_data data = new Get_data();
     String output = "";
     try {
      output = data.get_info();
  
      JSONArray jarray = new JSONArray(output);
      for (int i = 0; i &lt; jarray.length(); i++) {
       JSONObject jobject = jarray.getJSONObject(i);
       JSONObject product = jobject.getJSONObject("product");
       String description = product.getString("desc");
       array_list.add(new listview(description));
      }
  
     } catch (ClientProtocolException e) {
      e.printStackTrace();
     } catch (IOException e) {
      e.printStackTrace();
     } catch (JSONException e) {
      e.printStackTrace();
     }
     return null;
    }
   }
  
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  
    if (android.os.Build.VERSION.SDK_INT &gt; 9) {
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
       .permitAll().build();
     StrictMode.setThreadPolicy(policy);
    }
    new getJson_data().execute();
    list = (ListView) findViewById(R.id.listview1);
    list.setAdapter(new MyAdapter(this));
   }
  
   
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>Below u can find my custom layout listview.xml
  <div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent" &gt;
  
      &lt;TextView
          android:id="@+id/title"
          android:text="@string/text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/imageView1"
          android:layout_toRightOf="@+id/imageView1"
          android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
      &lt;ImageView
          android:id="@+id/imageView2"
          android:layout_width="32dp"
          android:layout_height="32dp"
          android:layout_alignBottom="@+id/description"
          android:layout_alignTop="@+id/imageView3"
          android:layout_marginRight="21dp"
          android:layout_toLeftOf="@+id/imageView3"
          android:contentDescription="@string/image_info"
          android:src="@drawable/arrow_icon_circle" /&gt;
  
      &lt;ImageView
          android:id="@+id/imageView3"
          android:layout_width="25dp"
          android:layout_height="25dp"
          android:layout_alignBottom="@+id/description"
          android:layout_alignParentRight="true"
          android:layout_marginRight="18dp"
          android:contentDescription="@string/image_info"
          android:src="@drawable/delete" /&gt;
  
      &lt;ImageView
          android:id="@+id/imageView4"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBottom="@+id/imageView1"
          android:layout_alignLeft="@+id/title"
          android:contentDescription="@string/image_info"
          android:src="@drawable/verified_circle_check_icon" /&gt;
  
      &lt;TextView
          android:id="@+id/description"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/imageView4"
          android:layout_toRightOf="@+id/title"
          android:text="@string/text"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;ImageView
          android:id="@+id/imageView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentTop="true"
          android:layout_marginLeft="22dp"
          android:layout_marginTop="19dp"
          android:contentDescription="@string/image_info"
          android:src="@drawable/ic_launcher" /&gt;
  
  &lt;/RelativeLayout&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>Below is an helper class (it's working fine) that extracts the json data, converts it to a string and returns it back to the doInBackground method.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>Get_data data = new Get_data();
  String output = "";
  try {
   output = data.get_info();</code></pre>
  </div>
  </div>
  </p>
  
  <p>Here is the json data that I got from the helper class method<div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>[
     {
         "@type": "item",
         "ID": 1036,
         "product": {
             "active": true,
             "categories": [],
             "desc": "thubnil image icon testing",
             "gtins": [],
             "id": 443,
             "image": "",
             "modelNumber": "thubnil im",
             "name": "test image"
         }
     },
     {
         "@type": "item",
         "ID": 781,
         "product": {
             "active": true,
             "categories": [],
             "desc": "cars",
             "gtins": [],
             "id": 46,
             "image": "",
             "modelNumber": "car1234",
             "name": "Cars"
         }
     },
     {
         "@type": "item",
         "ID": 783,
         "product": {
             "active": true,
             "categories": [],
             "desc": "cars",
             "gtins": [],
             "id": 46,
             "image": "",
             "modelNumber": "car1234",
             "name": "Cars"
         }
     }
  ]</code></pre>
  </div>
  </div>
  </p>
  
  <p>But nothing appears in my listview... Where did I go wrong? Please any suggestions on how to this would help me a lot. Thanks in advance</p>