0

现在我遇到了这个问题:

  1. 在我的 Asynctask 中,我在这个 Listview 上有一个 ProgressDialog,它会不断更新和自动滚动(我使用类似 mListview.setSelection(mData.size()-1); 来滚动它)

  2. 我希望它在未完成或取消时全屏显示,我认为这很容易通过 Window dialogWindow = mProgressDialog.getWindow(); dialogWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

  3. 我还希望它在完成后停止全屏显示(即我希望显示状态栏)。我还希望显示 Listview 中的第一项。

  4. -------------------- 这就是问题发生的时候。--------

我使用类似 dialogWindow.setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);

它运行良好。出现状态栏。

然后我使用 mListview.setSelection(0),我想它可以带给我第一个项目。

但是,它根本没有效果。知道这是如何发生或如何解决的吗?任何帮助将不胜感激。谢谢!

4

2 回答 2

1

你可以试试这个方法,也许对你有帮助。。

http://developer.android.com/reference/android/widget/ListView.html#smoothScrollToPosition(int)



public void smoothScrollToPosition (int position)

Since: API Level 8
Smoothly scroll to the specified adapter position. The view will scroll such that the         indicated position is displayed.

Parameters
position    Scroll to this adapter position.
于 2012-07-14T06:44:25.020 回答
0

你必须使用

mListview.clearFocus();

打电话之前

mListview.requestFocusFromTouch();
mListview.setSelection(0);

在 mListView 的 post 方法中。

于 2014-12-10T11:03:36.510 回答