2013-04-09 48 views
0

我有一个小部件,它在单击时打开一个设置Activity ..现在,如果用户添加小部件的多个实例并单击它们,它们都会打开相同的活动与相同的数据和相同的SharedPreferences从同一appwidget的多个实例中打开一个活动的多个实例

在我onReceive()我有

views.setOnClickPendingIntent(R.id.mytv, pendingIntent); 
    appWidgetManager.updateAppWidget(thisAppWidget, views); 

我要的是打开设置活动具有自主SharedPreferences一个单独的实例... 有没有办法?

+0

Android activity follow singleton pattern .... http://stackoverflow.com/a/3399898/1075066 – 2013-04-09 12:10:01

+0

你可以有2个不同的活动/类为您的目的相同的布局 – 2013-04-09 12:11:12

+0

@Vincent如果用户将把n - 小部件的数量?你的想法不适合这个 – Alex 2013-04-09 12:31:52

回答

1

打开它时,您可以使用该活动将appwidget ID传递给该活动。 使用appwidget id为每个窗口小部件实例创建单独的共享首选项文件,或者只是使用一个共享的pref文件,但需要为窗口小部件设置不同的设置时,只需创建一些按键并追加该按键的窗口小部件ID,例如“sort_order _”+ appWidgetId 。当小部件从屏幕上移除时,请不要忘记删除首选项文件或属于该appwidget的键。