J'ai besoin au code de port de BlackBerry pour Android et petit problème face: Exemple: le code bb est:Comment ajouter un nouvel élément dans un tableau
public class MyClass{
private MyObject[] _myObject;
public void addElement(MyObject o){
if (_myObject == null){
_myObject = new MyObject[0];
}
Arrays.add(_myObject, o);
}
}
malheureusement android ne pas Arrays.add()
qui fait partie de
Existe-t-il un remplacement pour android pour étendre dynamiquement et ajouter dans un tableau simple afin que je ne change pas le reste de mon code.
J'ai essayé d'écrire mon propre utilitaire, mais il ne fonctionne pas:
public class Arrays {
public static void add(Object[] array, Object object){
ArrayList<Object> lst = new ArrayList<Object>();
for (Object o : array){
lst.add(o);
}
lst.add(object);
array = lst.toArray();
}
}
.. après que j'appelle
public void addElement(MyObject o){
if (_myObject == null){
_myObject = new MyObject[0];
}
Arrays.add(_myObject, o);
}
l'_myObject
contiennent encore 0 éléments.
merci pour une réponse rapide. S'il vous plaît, jetez un oeil à cette spécification: http://www.blackberry.com/developers/docs/3.7api/net/rim/device/api/util/Arrays.html Il y a void add (Object [] array, Object objet); Comment les développeurs de jantes réalisent-ils que cela fonctionne pour eux?Je veux dire qu'ils appellent simplement add (object_array, new_element); et object_array étendu avec un nouvel élément? – kompotFX
@kompotFX: Ils ne le font pas. On ne sait pas exactement ce que fait cette méthode mal documentée, mais je peux vous garantir que si vous imprimez 'array.length', alors appelez' add (array, "hello") ', puis à nouveau' array.length', Je vais avoir la même valeur. Il est possible qu'il recherche un élément dans le tableau qui a une valeur nulle, et définisse la valeur de cet élément à celle qui a été transmise. Ce n'est pas la même chose que * ajouter * cependant. –
c'est très étrange, car en fait l'exemple de code que j'ai besoin de porter fonctionne sur blackberry. – kompotFX