有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码:
private OnScrollListener ScrollLis = new OnScrollListener() {
@Override
public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState==OnScrollListener.SCROLL_STATE_IDLE){
ListPos=list.getFirstVisiblePosition(); //ListPos记录当前可见的List顶端的一行的位置
}
}
};
接下来就是还原位置,放在ListView加载之后:
list.setSelection(ListPos);
摘自:http://blog.yes2.me/archives/567
分享到:
相关推荐
总之,记录和恢复ListView滚动位置的关键在于监听滚动事件,记录滚动停止时的位置,并在适当的时间恢复这个位置。在实际开发中,需要根据具体需求和场景进行调整和优化。了解这些基本技巧,可以帮助你创建更加流畅和...
- 另外,可以为EditText添加一个OnFocusChangeListener,当EditText获得焦点时,记录其位置并阻止ListView滚动;失去焦点时,更新ListView的数据并允许滚动。 5. **解决方案四:使用ExpandableListView替代...
当失去焦点或者ListView滚动时,根据记录的位置和值恢复正确的数据。 2. **使用 ViewHolder 模式**:ViewHolder模式能有效减少查找视图的时间,同时可以在ViewHolder中存储EditText的状态,确保数据与对应的条目...
当用户点击CheckBox时,记录下选中的位置和状态。 ```java @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { CheckBox checkBox = findViewById(R.id.checkbox); ...
"listview精准记忆"这个话题,实际上是在探讨如何在ListView中实现滚动位置的保存与恢复,以达到类似微信朋友圈的效果,即用户无论何时返回,ListView都能精确地定位到之前浏览的位置。下面将详细介绍这个功能的实现...
当ListView滚动时,为了保持选中效果,我们需要在ListView滚动时记录选中的项,并在滚动结束后恢复这些项的状态。这通常通过设置OnItemSelectedListener监听器和在`onItemClick()`回调中更新已选中的位置来实现。 ...
3. 在onScroll方法中,我们需要记录滚动的当前位置和速度,判断是否达到顶部或底部。当达到边界时,启动一个动画来模拟阻尼效果。 4. 使用ValueAnimator或ObjectAnimator来创建动画。这些动画可以改变ListView的...
- 当ListView滚动时,需要保存EditText的状态,包括输入的文本和光标位置。当列表项再次出现在屏幕上时,恢复这些状态,以保持用户体验的一致性。 9. **性能优化**: - 为了避免内存泄漏,记得在不再需要监听器时...
总之,这个DEMO提供了一个在ListView中使用单选按钮的示例,通过自定义Adapter实现单选逻辑,并确保在ListView滚动时保持选中状态的正确性。这对于理解和掌握Android中如何处理列表视图的交互和数据绑定是非常有价值...
同时,配合ObjectAnimator可以更新ListView的滚动位置,使其随着高度的变化同步回弹。 为了实现更逼真的回弹效果,我们可能还需要考虑一些额外的因素,比如加速度和摩擦力。这些可以通过调整动画的插值器来实现。...
Android提供了`onSaveInstanceState()`和`onRestoreInstanceState()`方法来保存和恢复Activity的状态,但这些方法通常用于保存UI组件的简单状态,对于ListView来说,这种方式可能不够高效。 - 更好的做法是在...
- 当应用重新启动或ListView被刷新时,需要保存和恢复用户的选中状态。这可以通过在SharedPreferences或数据库中记录每个Item的选中状态来实现。 - 加载数据时,根据保存的状态设置每个Item的选中状态。 6. **...
- `ListView`是Android中一个可滚动的视图,用于显示一列数据。通过设置适配器(如ArrayAdapter或BaseAdapter)来绑定数据源。 - 数据源通常是一个列表,每个列表项由一个布局文件表示,其中可以包含各种控件,如...
为此,可以监听ListView的OnScrollListener,根据滚动位置更新当前播放的视频。同时,需要维护一个播放状态的数据结构,记录每个视频项的播放状态,以便在列表重新显示时恢复。 对于视频资源的加载,可以考虑异步...
1.1 ListView组件:ListView是Android SDK中的一个视图容器,它能显示一列垂直的数据项,可以进行滚动操作。通过适配器(Adapter)将数据绑定到ListView,实现数据与视图的分离。 1.2 ArrayAdapter:最基础的适配器...
6. **保存和恢复状态**:在Activity的onSaveInstanceState()和onRestoreInstanceState()方法中,保存和恢复选择状态列表,以便在配置更改(如屏幕旋转)时保持选择状态。 7. **获取选择项**:可以通过ListView的...
当编辑完成或者EditText失去焦点后,再恢复ListView的滚动功能。 6. **GouWuChe文件分析**: - 压缩包中的"GoWuChe"文件可能是项目代码的一部分,可能包含了实现上述功能的类、布局文件或其他资源。为了进一步分析...
- 使用Parcelable或Gson等工具序列化和反序列化数据,以在保存和恢复EditText的内容。 8. **用户体验**: - 需要确保在EditText失去焦点时自动保存用户输入,以免在用户意外触摸屏幕其他区域时丢失数据。 - 对于...
同时,对于多选,我们需要在数据源中存储选中状态,以便在ListView滚动时恢复。 4. 自定义单选、多选对话框及PopWindow窗口: 当你需要在弹出对话框或PopWindow中使用这种功能时,你可以创建一个自定义的...