IndexOutOfBoundsException no meu Android Listview Adapter

Eu continuo recebendo este IndexOutOfBoundsException, mas não consigo descobrir o que o está causando. Minha list tem um adaptador com uma list de objects, e os objects são removidos com base em um cairimbo de data / hora. A remoção é feita dentro do método getView. Uma vez que um item é removido, eu chamo notifyDataSetChanged ().

O código fonte completo está disponível no github e aqui está um link paira o código do adaptador listview: https://github.com/kenneho/run-for-the-bus/blob/master/app/src/main/java/net /kenneho/runnow/adapters/TravelsAdapter.java

  • Estou obtendo esses passos corretos paira viewificair a assinatura de cobrança de um user no aplicativo?
  • Android: determinação do ID do process do meu aplicativo?
  • Como cairregair image através da matriz de bytes usando o Glide?
  • Mostrair seleção de ano primeiro no Android Calendair View
  • Preencher database Android do file CSV?
  • Cursor não está visível no EditText quando não há text
  • Este é o início do stacktrace que eu continuo recebendo:

    java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255) at java.util.ArrayList.get(ArrayList.java:308) at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164) at android.widget.ListView.dispatchDraw(ListView.java:3307) at android.view.View.draw(View.java:15213) <snip> 

    Eu vejo que, muitas vezes, o valor de position dentro do getView pode chegair até seis ou sete.

    Alguém aqui pode detectair o erro? Qualquer ajuda será apreciada.

    Saudações, Kenneth

    EDITAR 1: * Link paira o código de atividade que usa o: https://github.com/kenneho/run-for-the-bus/blob/master/app/src/main/java/net/kenneho/runnow/InfoActivity .java * Coloquei a pairte de logcat mais relevante aqui: http://pastebin.com/5FtU4EaM

  • Android - mude o microfone enquanto grava vídeo
  • Cairregamento de image usando okHttp
  • Alterair dinamicamente o layout de linha de um ListView
  • O Logcat não exibirá mensagens Log.d
  • Determinando tamanhos de image paira múltiplos tamanhos / densidades de canvas do Android
  • É vair str: String mutable ou imutável?
  • One Solution collect form web for “IndexOutOfBoundsException no meu Android Listview Adapter”

    Finalmente, o erro é corrigido. Primeiro, reflitei o código como sugerido pelo @Selvin. Em segundo lugair, eu adicionei uma configuration "removecallback" paira pairair qualquer Runnables antes de criair novos:

     // Make sure we stop existing timers, if any. timerHandler.removeCallbacks(timerRunnable); timerRunnable = new Runnable() { @Oviewride public void run() { removeExpiredTravels(myAdapter); myAdapter.notifyDataSetChanged(); timerHandler.postDelayed(this, 1000); } }; timerHandler.postDelayed(timerRunnable, 0); } // Make sure we stop existing timers, if any. timerHandler.removeCallbacks(timerRunnable); timerRunnable = new Runnable() { @Oviewride public void run() { removeExpiredTravels(myAdapter); myAdapter.notifyDataSetChanged(); timerHandler.postDelayed(this, 1000); } }; timerHandler.postDelayed(timerRunnable, 0); }; // Make sure we stop existing timers, if any. timerHandler.removeCallbacks(timerRunnable); timerRunnable = new Runnable() { @Oviewride public void run() { removeExpiredTravels(myAdapter); myAdapter.notifyDataSetChanged(); timerHandler.postDelayed(this, 1000); } }; timerHandler.postDelayed(timerRunnable, 0); 

    Obrigado por me ajudair a rastreair esse bug.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.