0
통해 엑스트라를 보내는
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 (수신입니다 (이것은 그 활동에 ID를 전송한다) 내가 DetailsActivity을 시작하려는 태핑 후 루프에서 위젯 항목을 렌더링하는 목록의 마지막 항목입니다.) 어떤 항목을 탭해도 상관 없습니다.
이전 보류 의도를 반복해서 취소하기 때문입니다. 'intentRow'에서 "unique"한 것을 생성하는 것을 고려하십시오. 'Intent # setData (Uri) '에 가짜'Uri'가 전달되면 트릭을 할 것입니다 - 증가하는 경로 나 그런 멍청한 것을 사용하십시오. – Jens