2012-01-02 35 views
6

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.

+0

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? –

Trả lời

Các vấn đề liên quan