title: Custom Adapter getView() method is not called
body: <p>Here is the code of the fragment in which I am setting a custom adapter to the list. </p>
  
  <p>There no errors but the <code>ListView</code> is empty. I have implemented <code>getCount()</code> which returns right number of items in my ArrayList. I don't see <code>("Inside", "GetView")</code> in the logcat</p>
  
  <p><strong>Fragment</strong></p>
  
  <pre><code>public class ServiceCarListFragment extends Fragment {
  
      private String url;
      private ArrayList&lt;CarDetail&gt; carDetailList = new ArrayList&lt;CarDetail&gt;();
      private CarListAdapter adapter;
      private ListView mList;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          url = getActivity().getIntent().getStringExtra("url");
          new DownloadCarDetail().execute(url);
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                               Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          View v = inflater.inflate(R.layout.fragment_service_car_list, container, false);
          mList = (ListView) v.findViewById(R.id.list);
          mList.setAdapter(adapter);
  
          for (CarDetail car : carDetailList) {
              // START LOADING IMAGES FOR EACH STUDENT
              car.loadImage(adapter);
          }
          return v;
      }
  
      class DownloadCarDetail extends AsyncTask&lt;String, String, ArrayList&lt;CarDetail&gt;&gt; {
  
          @Override
          protected ArrayList&lt;CarDetail&gt; doInBackground(String... params) {
              // TODO Auto-generated method stub
              ArrayList&lt;CarDetail&gt; carDetailList = JsonParser.parseJson(params[0]);
              return carDetailList;
          }
  
          @Override
          protected void onPostExecute(ArrayList&lt;CarDetail&gt; carDetailList) {
              // TODO Auto-generated method stub
              ServiceCarListFragment.this.carDetailList = carDetailList;
              Log.d("dccs", String.valueOf(ServiceCarListFragment.this.carDetailList.size()));
              adapter = new CarListAdapter(getActivity(), ServiceCarListFragment.this.carDetailList);
              Log.d("dccs", String.valueOf((adapter.getCount())));
          }
  
      }
  }
  </code></pre>
  
  <p><strong>CustomAdapter</strong></p>
  
  <pre><code>public class CarListAdapter extends BaseAdapter {
  
      private ArrayList&lt;CarDetail&gt; items = new ArrayList&lt;CarDetail&gt;();
      private Context context;
  
      public CarListAdapter(Context context, ArrayList&lt;CarDetail&gt; items) {
          this.context = context;
          this.items = items;
      }
  
      @Override
      public int getCount() {
          // TODO Auto-generated method stub
          return items.size();
      }
  
      @Override
      public Object getItem(int position) {
          // TODO Auto-generated method stub
          return items.get(position);
      }
  
      @Override
      public long getItemId(int position) {
          // TODO Auto-generated method stub
          return position;
      }
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          // TODO Auto-generated method stub
          Log.d("Inside", "GetView");
          LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
          ViewHolder holder = null;
          CarDetail car = items.get(position);
  
          if (convertView == null) {
              convertView = mInflater.inflate(R.layout.car_list_row, null);
              holder = new ViewHolder();
              holder.tvCarName = (TextView) convertView.findViewById(R.id.tvCarName);
              holder.tvDailyPriceValue = (TextView) convertView.findViewById(R.id.tvWeeklyPriceValue);
              holder.tvWeeklyPriceValue = (TextView) convertView.findViewById(R.id.tvWeeklyPriceValue);
              holder.imgCar = (ImageView) convertView.findViewById(R.id.imgCar);
              convertView.setTag(holder);
          } else {
              holder = (ViewHolder) convertView.getTag();
          }
  
          holder.tvCarName.setText(car.getCarName());
          if (car.getImage() != null) {
              holder.imgCar.setImageBitmap(car.getImage());
          } else {
              // MY DEFAULT IMAGE
              holder.imgCar.setImageResource(R.drawable.ic_action_call);
          }
  
          return convertView;
      }
  
      static class ViewHolder {
          TextView tvCarName;
          TextView tvDailyPriceValue;
          TextView tvWeeklyPriceValue;
          ImageView imgCar;
      }
  
  }
  </code></pre>