title: ListView - ListView don't update
body: <p>I'm trying to do Autogrowin/Endless ListView but I have a problem with ArrayAdapter = update after downloading the data.</p>
  
  <pre><code>public class ListShowActivity  extends ListActivity {
  
      private ShowsAdapter m_adapter;
      private ArrayList&lt;ShowsList&gt; showList = new ArrayList&lt;ShowsList&gt;();
  
      // Adapter
      private class ShowsAdapter extends ArrayAdapter&lt;ShowsList&gt;
      {
  
          private ArrayList&lt;ShowsList&gt; items = new ArrayList&lt;ShowsList&gt;();
  
          public ShowsAdapter(Context context, int textViewResourceId, ArrayList&lt;ShowsList&gt; items)
          {
              super(context, textViewResourceId, items);  
              this.items = items;
          }
  
          public void appendList(ArrayList&lt;ShowsList&gt; results)
          {
              if((results != null) &amp;&amp; (results.size() != 0))
              {
                  m_adapter.add(results.get(0));
                  m_adapter.notifyDataSetChanged();
                  Log.i("test", "appendList: "+results.get(0).originalTitle);
              }
          }
  
          @Override
          public View getView(int position, View convertView, ViewGroup parent) 
          {
              View v = convertView;
              TextView tt = null;
              TextView bt = null;
              ImageView iv = null;
              if (v == null){
                  LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                  v = vi.inflate(R.layout.list_show_item, null);
  
                  tt = (TextView) v.findViewById(R.id.showOriginalTitle);
                  bt = (TextView) v.findViewById(R.id.showTitle);
                  iv = (ImageView) v.findViewById(R.id.showPoster);
              }
  
              ShowsList item = this.items.get(position);
              if (item != null) {
                  if(tt != null){
                      tt.setText(item.originalTitle);
                  }
  
                  if(bt != null){
                      bt.setText(item.title);
                  }
  
                  if(iv != null)
                  {
                      new DownloadImage().downloadImage(item.poster, iv);
                  } 
              }
  
              return v;
          }
      }
  
      // Implement new OnScrollListener
      public class onScrollLoad implements OnScrollListener {
  
          private int lastOffset = 10;
          private int limit = 10;
          private int mPrevTotalItemCount = 0;
  
          public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
  
              if (((firstVisibleItem + visibleItemCount) &gt;= totalItemCount) &amp;&amp; totalItemCount != mPrevTotalItemCount) {
                  lastOffset = totalItemCount;
                  mPrevTotalItemCount = lastOffset;
                  limit += 1;
                  ArrayList&lt;ShowsList&gt; results = new Api().getShows(lastOffset, limit);
                  m_adapter.appendList(results);
                  //new PagingRequest(m_adapter).execute(lastOffset, limit);
                  Toast.makeText(getApplicationContext(), lastOffset+" / "+limit, Toast.LENGTH_SHORT).show();
              }
          }            
  
          public void onScrollStateChanged(AbsListView view, int scrollState) {
              Log.i("test", "onScrollStateChange()");
          }
      }
  
      // Implement AsyncTask for download items?
      /*
      private static class PagingRequest extends AsyncTask&lt;Integer, Void, ArrayList&lt;ShowsList&gt;&gt; {
  
          private ShowsAdapter mAdapter;
  
          public PagingRequest(ShowsAdapter adapter) {
             this.mAdapter = adapter;
          }
  
           protected ArrayList&lt;ShowsList&gt; doInBackground(Integer... params) {
               return new Api().getShows(params[0], params[1]);
           }
  
           protected void onPostExecute(ArrayList&lt;ShowsList&gt; result) {
               this.mAdapter.appendList(result);
           }
        }
        */
  
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.list_shows);
  
          TextView tv = (TextView) findViewById(R.id.headerbarText);
          tv.setText("List Shows");    
  
          // Get Items
          Api a = new Api();
          // First 10 items
          showList = a.getShows(0, 0);
  
          if(showList.isEmpty() == false)
          {   
              //showList =  new Api().getShows(0,0);
              m_adapter = new ShowsAdapter(this, R.layout.list_show_item, showList);
              setListAdapter(m_adapter);
              ListView lv = getListView();
              lv.setOnScrollListener(new onScrollLoad());            
  
              lv.setOnItemClickListener(new OnItemClickListener() {
                  public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id)
                  {
                      Intent intent = new Intent(ListShowActivity.this, ShowActivity.class);
                      //intent.putExtra("showID", getShowsList.get(position).ID);
                      startActivity(intent);
                  }
              });
          }else{
             Toast.makeText(getApplicationContext(), "NoData", Toast.LENGTH_SHORT).show();
          }
      }
  }
  </code></pre>
  
  <p>I pasted code without working Asynctask. 
  In "theory"^^ everything works (appendList Log return correct value), but i as say i have problem with update ShowsAdapter (Download new image + and insert content to ListView)</p>