我做了一些Android的運動,我有一個小部件問題:安卓:配置部件(相同setOnClickPendingIntent不同的部件例如演員)
目標:當用戶添加新的插件增加至主該應用程序運行一個配置,用戶可以選擇一個字符串。 配置期間,必須將字符串設置爲我的窗口小部件佈局中唯一按鈕的「文本」,並且在該按鈕上,應用程序必須設置一個onclick監聽器,該監聽器將調用另一個將字符串作爲參數傳遞的活動。所以當用戶點擊按鈕時會調用給出按鈕文本的活動。主要目標是如果我有兩個小部件,每一個都設置onclick監聽器發送不同的字符串作爲參數。
代碼:
int mAppWidgetId = 0;
if (extras != null) {
mAppWidgetId = extras.getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
String thestring = ... //this string is set dynamically by the configuration
RemoteViews views = new RemoteViews(this.getPackageName(), R.widget_profile);
views.setTextViewText(R.id.buttonWidget, thestring);
Intent clickIntent = new Intent(this, afterclickactivity.class);
clickIntent.putExtra("TheString", thestring);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, clickIntent, 0);
views.setOnClickPendingIntent(R.id.buttonWidget, pendingIntent);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
appWidgetManager.updateAppWidget(mAppWidgetId, views);
問題:萬物似乎做工精細,小部件拿到主屏幕和按鈕上的文本的地方是一個由用戶時,如果choosen我根據用戶選擇添加2個具有不同文本的相同窗口小部件的實例。但是,當用戶按下第二個窗口小部件上的按鈕時,它將啓動「afterclickactivity」,它使用與widget1相同的參數忽略第二個選擇的字符串。
它是這樣的:
窗口小部件1: 文本:字符串1 的onclick:callActivity(字符串1)
窗口小部件2: 文本:字符串2 的onclick:callActivity(字符串1)