0
發送額外
我呈現在一個循環控件項目攻我要開始DetailsActivity後(它應該發送ID到活動)Android的 - 通過的PendingIntent
Cursor currentCursor = dbHelper.getWidgetCursor();
for(int k=0; k < currentCursor.getCount(); k++){
currentCursor.moveToPosition(k);
RemoteViews rw = new RemoteViews(context.getPackageName(), R.layout.w_calendar_item);
Intent intentRow = new Intent(context, DetailsActivity.class);
Log.v("a", "index: "+currentCursor.getInt(currentCursor.getColumnIndex(SqlHelper.COLUMN_ID)));
intentRow.putExtra("index", currentCursor.getInt(currentCursor.getColumnIndex(SqlHelper.COLUMN_ID)));
PendingIntent pendingIntentRow = PendingIntent.getActivity(context, 1, intentRow, PendingIntent.FLAG_CANCEL_CURRENT);
rw.setOnClickPendingIntent(R.id.w_li, pendingIntentRow);
views.addView(R.id.w_list, rw);
}
我的問題是DetailsActivity總是收到指數103(其是列表中的最後一個)無關緊要哪個項目
那是因爲你一次又一次地取消了以前的待決意圖。考慮在「intentRow」中生成「獨特」的內容 - 例如傳遞給'Intent#setData(Uri)'的虛假'Uri'會做訣竅 - 使用一條遞增路徑或一些像這樣的愚蠢行爲。 – Jens