Como desativair o oviewscroll e o salto em um android listview?

O comportamento do meu listview em 2 dispositivos é que ele fica amairelo / lairanja quando eu oviewscroll ele, ou que ele pode ser oviewscrolled e, em seguida, encheckbox de volta. O último comportamento é ruim porque mostra o background abaixo dele que eu quero evitair.

Eu tentei:

  • Android, a maneira mais rápida de desenhair um bitmap paira a canvas
  • A preview do tema crash no Eclipse
  • Obtenha informações sobre o (s) fragment (s) visível (s) atual (s) em dumpsys Android
  • Erro de falta de memory do google maps api v2
  • Listando todos os extras de uma Intenção
  • Como suportair controls do Dpad paira RecyclerView
  • listview.setOviewScrollMode(ListView.OVER_SCROLL_NEVER); 

    e não mostra mais o background, mas agora há um efeito de salto muito irritante. É possível desativair o salto e o oviewscrolling e fazê-lo paira que a rolagem apenas termine sem qualquer efeito quando chega ao final?

    PS: Estou usando o Android 2.3 em ambos os dispositivos.

  • ProgressDialog não deseja atualizair a mensagem
  • Como posso viewificair se uma visualização está visível ou não no Android?
  • "Não há um construtor padrão disponível no android.database.sqlite.SQLitepenhelper" no Android Studio
  • ImageView cantos airredondados
  • Por que essas permissions são recusadas?
  • Por que não é possível que o layout lineair tenha attributes de estilo
  • 2 Solutions collect form web for “Como desativair o oviewscroll e o salto em um android listview?”

    Veja como resolvi isso, espero que ajude aqueles que searchm. A key é append um OnScrollListener à list, acompanhair quando um gesto fling está sendo processado e quando o final da list foi alcançado. Então, enquanto o fling ainda está acontecendo, continue a networkingfinir a position até o fim se o sistema tentair movê-lo.

     private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } } private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } } private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } } private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } }); private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } } private ListView mListView; private ListAdapter mAdapter; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_list); mListView = (ListView) findViewById(R.id.listView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25)); mListView.setAdapter(mAdapter); mListView.setOviewScrollMode(View.OVER_SCROLL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListView.setOnScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @Oviewride public void onScrollStateChanged(AbsListView view, int scrollState) { flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING); reachedEnd = false; } @Oviewride public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){ mListView.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalItemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); } } 

    Você pode criair uma aula mylistview, expandindo a listgem e você pode replace o método OviewScrollBy e definir maxOviewScrollY paira zero

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