Android Widget:ListView上的setSelection

时间:2014-01-17 21:59:34

标签: android listview android-widget

所以我正在开发我的第一个Android Widget,主要由ListView组成。我正在使用RemoteViewsFactory填充列表视图,该工作正常,但我无法默认列表中选定的索引。

通常ListView#setSelection工作正常,但在这种情况下(使用RemoteViews)它似乎什么都不做。

我确定这是一个错误的地方,但在AppWidgetProvider#onUpdate我正在做以下事情:

 RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.widget);
 widget.setRemoteAdapter(R.id.widget_list, svcIntent);

 Log.i(TAG, "Setting selection: " + position);
 widget.setInt(R.id.widget_list, "setSelection", position);

我假设它不起作用,因为列表尚未填充,由于集合视图的异步性质,但我不确定我还能把它放在哪里。

目标是用户第一次看到窗口小部件,然后再与其进行交互,并且每当列表更改(每小时)时,列表都会滚动到特定项目。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

widget.setScrollPosition(R.id.widget_list,position);