Java android ListView requestFocusFromTouch setSelection smoothScrollToPosition似乎被忽略
我首先看到了ListView的一个非常简单的问题 我以非常经典的方式使用它:Java android ListView requestFocusFromTouch setSelection smoothScrollToPosition似乎被忽略,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我首先看到了ListView的一个非常简单的问题 我以非常经典的方式使用它: listView = (ListView) view.findViewById(R.id.myid); listView.setAdapter(adapter); adapter.clear(); adapter.addAll(result); adapter.notifyDataSetChanged(); 当第一次使用它时,listView位于顶部,这并不奇怪。但是,当我清除适配器并放入新数据时 adapter.c
listView = (ListView) view.findViewById(R.id.myid);
listView.setAdapter(adapter);
adapter.clear();
adapter.addAll(result);
adapter.notifyDataSetChanged();
当第一次使用它时,listView位于顶部,这并不奇怪。但是,当我清除适配器并放入新数据时
adapter.clear();
adapter.addAll(result);
adapter.notifyDataSetChanged();
它保持以前选择的位置。但我想再次将列表滚动到顶部
我试过:
listView.setSelection(0);
listView.requestFocusFromTouch();
listView.setSelection(0);
listView.smoothScrollToPosition(0);
一切似乎都被忽视了(如何强制listView返回到第一个元素。当您调用setSelection(0)时,您将0位置的项设置为所选项,并滚动到0位置,因此实际上您从0位置滚动到0位置。我可以添加的是,我使用ViewPager(v4)。也许它会对此产生一些影响?