直接移动到第一条:
listView.smoothScrollToPositionFromTop(position,0);
上面代码会出现问题
“
如果需要实现listView展开 遇到的问题 在后面几条展开的时候 相应的item不会移动到屏幕最上面
需要延时几毫秒 给点时间给cpu处理
Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int position = msg.arg1; listView_linggan.smoothScrollToPositionFromTop(position,0); } }; @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { LinearLayout ll = (LinearLayout) view.findViewById(R.id.linearlayout); if (ll.getVisibility() == View.VISIBLE) { //如果是显示 ll.setVisibility(View.GONE); }else { ll.setVisibility(View.VISIBLE); } //给一点时间给cpu处理 handler.removeMessages(1); //防止多次点击 Message message = Message.obtain(); message.what = 1; message.arg1 = position; handler.sendMessageDelayed(message,10); }效果如下图:
当在Android中使用ListView时,点击Item展开内容,为确保内容可见,需使用Handler延迟滚动到顶部。通过设置Handler发送消息并在点击事件中处理,避免多次点击并延迟几毫秒以便CPU处理,实现平滑滚动到指定位置。
2014

被折叠的 条评论
为什么被折叠?



