Bir dosya başarılı bir şekilde karşıdan yüklüyorsa bir parçadaki liste görünümünü güncellemeliyim. Yani benim indirme yöneticisinin BroadcastReceiver içinde ben bu yeni yayın alıcısı kayıt: o zamanBir yayın alıcıdan bir parçadaki liste görünümünü güncelle
IntentFilter filter = new IntentFilter("CONTENTS_NOTIFICATION");
getActivity().getApplicationContext().registerReceiver(myReceiver, filter);
:
Intent intent = new Intent();
intent.setAction("CONTENTS_NOTIFICATION");
context.sendBroadcast(intent);
Ve alıcıyı kaydetmek için aşağıdaki kodu ekleyin onCreateView benim fragmanında
public void onDestroyView() {
super.onDestroyView();
getActivity().getApplicationContext().unregisterReceiver(myReceiver);
}
:
ve sonunda
İki farklı Fragman için bu yayın alıcılarından ikisini eklemeliyim. İlkinde, her şey yolunda.
03-15 07:32:40.474: E/AndroidRuntime(1692): FATAL EXCEPTION: main
03-15 07:32:40.474: E/AndroidRuntime(1692): java.lang.RuntimeException: Error receiving broadcast Intent { act=CONTENTS_NOTIFICATION flg=0x10 } in [email protected]
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.os.Handler.handleCallback(Handler.java:725)
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.os.Handler.dispatchMessage(Handler.java:92)
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.os.Looper.loop(Looper.java:137)
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.app.ActivityThread.main(ActivityThread.java:5191)
03-15 07:32:40.474: E/AndroidRuntime(1692): at java.lang.reflect.Method.invokeNative(Native Method)
03-15 07:32:40.474: E/AndroidRuntime(1692): at java.lang.reflect.Method.invoke(Method.java:511)
03-15 07:32:40.474: E/AndroidRuntime(1692): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
03-15 07:32:40.474: E/AndroidRuntime(1692): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
03-15 07:32:40.474: E/AndroidRuntime(1692): at dalvik.system.NativeStart.main(Native Method)
03-15 07:32:40.474: E/AndroidRuntime(1692): Caused by: java.lang.NullPointerException
03-15 07:32:40.474: E/AndroidRuntime(1692): at sample.actionscontentview.fragment.ContentsFragment.populateListview(ContentsFragment.java:194)
03-15 07:32:40.474: E/AndroidRuntime(1692): at sample.actionscontentview.fragment.ContentsFragment.access$0(ContentsFragment.java:111)
03-15 07:32:40.474: E/AndroidRuntime(1692): at sample.actionscontentview.fragment.ContentsFragment$1.onReceive(ContentsFragment.java:107)
03-15 07:32:40.474: E/AndroidRuntime(1692): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:758)
03-15 07:32:40.474: E/AndroidRuntime(1692): ... 9 more
ve kod aynıdır: uygulamada kullanıcı fragmanı açıksa, ikinci parçanın üzerinde ben bu hataları var iken, günceller! Neden çalışmadığını anlayamıyorum. PopulatelistView ile ilgili bir sorun olduğunu söylüyor ancak aynı fonksiyon, yayın alıcısından çağrılmadığı takdirde fragmanın içinde iyi çalışıyor.
Bu iki parça arasında düşünebildiğim tek fark, uygulamanın başlatıldığı sırada güncelleştirmenin ilk çalıştırıldığı sürümdür.
satır no. 194 ve populateListView için kodu gönder – Atrix1987
Benim kötü ... Hata populatelistView oldu, özellikle yanlış görünümü geçiyordu! Yani kod iyi çalışıyor! – phcaze