我有一個名爲PlayerList類,在該類我有這樣定義一個ArrayList:如何從ArrayList中刪除位圖?
private ArrayList<Bitmap> images = new ArrayList<Bitmap>();
現在,一個ArrayList remove方法可以exept 2個參數,索引和一個對象。
我想通過發送位圖來從數組中刪除一個位圖。事情是位圖是由相同的圖像,但我保存在數組中的位圖不一樣我試圖找到,當我打印ArrayList控制檯我一直看到新的名字,東西如:
[[email protected], [email protected]]
這可能是相關的嗎?儘管如此,該課程實現Parcelable
,所以數據被讀寫,不能太健康,對吧?
我是否缺少一個通用的問題或它的代碼特定,我應該發佈我的代碼?
我這裏basiclly問題是,當我嘗試刪除該位圖,它永諾刪除了錯誤的項目在ArrayList中,始終爲1 1,我需要
如果實例不同,除非您創建檢查image * content *的equals/hash方法,否則您運氣不好。你可以使用不同的機制,比如給他們一個ID或者通過名字引用他們等等。 –
如果我將使用Drawable?那會工作嗎? –
這不是關於你的'Bitmap'類實現的接口。 'remove'方法使用'Bitmap'對象的'equals'方法來查找並從列表中移除它。所以,除非你在'Bitmap'類中正確實現'equals'方法,否則你不能指望'ArrayList.remove'方法去除正確的對象。 –