Wie kann ich eine static
, nicht änderbare Instanz von android.util.SparseArray
? <> initialisieren? / p>
Du kannst nicht tun, was du versuchst. Zumindest nicht, wie Sie es versuchen. Es gibt keine Implementierung von SparseArray
, die nicht geändert werden kann.
Sie könnten jedoch einen erstellen. Hier ist wie:
CustomSparseArray<E>
, und erweitern Sie SparseArray
. Überschreiben Sie alle Methoden , die die Elemente im Array ändern, und ersetzen Sie sie durch Folgendes:
%Vor%boolean mLocked = false;
. Als nächstes benötigen Sie eine Methode wie die folgende:
%Vor%Schließlich implementieren Sie Ihre statische Variable mit einer ähnlichen Methode wie in dem anderen Beitrag :
%Vor% Dann haben Sie ein unmodifizierbares SparseArray
in Ihrer static
Variable myArray
.
Tags und Links java android initialization collections sparse-array