سؤال

تاريخ النشر: الإثنين 30 نوفمبر 2009 05:08 عنوان الموضوع: مشكلة بسيطة مع إضافات نوايا مرحبا،

وأعمل على القطعة التطبيق لالشاشة الرئيسية. أحاول أن تجعل من ذلك عندما ينقر مستخدم على القطعة يتغير البيانات التي يتم عرضها في القطعة. ومع ذلك، أنا السماح أيضا حالات متعددة من الحاجيات مفتوحة مع بيانات مختلفة. وذلك من أجل أن تقول لي طريقة التي القطعة لتحديث، وأنا مضيفا اضافي الى نية أنه لن يتم إطلاق لتغيير البيانات.

وهنا القصد لدي: جافا:

Intent changeData = new Intent("com.tonycosentini.mintdroid.CHANGE_DATA"); 
changeData.putExtra("widget_id", currentWidgetId); 
PendingIntent changeDataPendingIntent = PendingIntent.getBroadcast(this, 0, changeData, 0); 
//This will return the correct value, but if I call it in my onreceive() method it won't.
Log.v(TAG, "stored id is: " + changeData.getIntExtra("widget", 0);

وهذا بتخزين بشكل صحيح هوية القطعة، ولكن عندما يتم استدعاء أسلوب تغيير البيانات، هوية القطعة التي يتم قراءتها من القصد هو أول سبيل المثال القطعة. وهذا هو، هناك هو لحلقة الذي يولد جميع الحاجيات وبغض النظر عن القطعة النقر، هوية القطعة التي يتم تلقي هو دائما أول معرف القطعة في القطعة الأولى.

وأي شخص لديه فكرة عن كيفية حل هذه؟ نأمل لم أكن كلمة أنها سيئة للغاية.

وشكرا للقراءة، توني

هل كانت مفيدة؟

المحلول

وهذه هي مشكلة معروفة مع PendingIntents. عندما يقارن الروبوت PendingIntents أنه لا تقارن اشياء النوايا، لذلك لا يمكنك جدولة نفس الأساسية عدة مرات نوايا مع إضافات مختلفة فقط. الآن، يمكنك حل هذا فقط من خلال جعل نية فريدة من نوعها في بعض وسيلة أخرى من إضافات، مثل إضافة معلومات إضافية إلى البيانات النوايا.

وهناك القليل من مناقشة هذا على الروبوت المجموعة جوجل: <لأ href = "http://groups.google.com/group/android-developers/browse_thread/thread/81100da6ddb21136" يختلط = "نوفولو noreferrer" > http://groups.google.com/group/android-developers/browse_thread/thread/81100da6ddb21136

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top