Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android ListView requestFocusFromTouch setSelection smoothScrollToPosition似乎被忽略_Java_Android_Listview_Android Listview - Fatal编程技术网

Java android ListView requestFocusFromTouch setSelection smoothScrollToPosition似乎被忽略

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 = (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)。也许它会对此产生一些影响?