Tôi đang thêm ViewFlipper
được tăng nguồn từ tài nguyên bố cục vào một ListView
dưới dạng Footer
. Dưới đây là cách bố trí flipper của tôi (Chi tiết bỏ qua cho ngắn gọn):Hoạt động đã bị rò rỉ IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
tôi thêm nó vào ListView của tôi sử dụng:
mListView.addFooterView(mLoadMoreFlipper);
Khi hoạt động của tôi bị phá hủy tôi thấy thông báo sau, tiếp theo là một cuộc gọi stack, trong LogCat:
Activity com.gk.ItemListActivity has leaked IntentReceiver [email protected]
that was originally registered here. Are you missing a call to unregisterReceiver()?
Tôi đã thực hiện một số thông tin liên quan đến việc không đăng ký nhận, ngoại trừ tôi chưa đăng ký. Rất tiếc, thông báo này chỉ xuất hiện nếu chân trang ViewFlipper
đã bị xóa khỏi ListView
trước khi hủy (bằng cách sử dụng nút quay lại). Tôi tách chân khi tôi không còn cần đến nó bằng cách sử dụng:
mListView.removeFooterView(mLoadMoreFlipper);
Tôi đã cố gắng sử dụng một WeakReference
đến ViewFlipper
nhưng điều đó không giúp đỡ. Tôi cũng đã thử đặt tham chiếu mLoadMoreFlipper
thành null
nhưng điều đó cũng không giúp ích gì.
Có ai gặp sự cố này trước đây không? Điều này dường như liên quan đến hoạt động của tôi có liên quan đến số ViewFlipper
sau khi nó được tách ra khỏi ListView
nhưng tôi không biết cách phá hủy một cách rõ ràng ViewFlipper
.
Tôi không thấy bất kỳ điều gì nhất thiết phải gây ra điều đó với mã ở đây. Bạn có đăng ký bất kỳ cuộc gọi lại hoặc người nghe nào khác có liên quan đến nội dung của chân trang không? –