Je suis nouveau sur Android et Java mais j'ai de l'expérience en programmation.Strange comportement de la chaîne de caractères sous Android/Java
Quand je veux commencer ce qui suit dans Android, il se bloque:
package org.ds.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toast.makeText(this,
getResources().getStringArray(R.array.test_array).length,
Toast.LENGTH_SHORT).show();
}
}
Je ne sais pas pourquoi les accidents d'applications, mais le tableau est défini comme une chaîne tableau dans les valeurs/arrays.xml avec 6 objets. C'est aussi tout à fait correct dans le R.java, le tableau y est défini.
Quand je fais ce qui suit cela fonctionne:
package org.ds.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
int arr_length = getResources().getStringArray(R.array.test_array).length;
Toast.makeText(this,
"array has a length of " + arr_length + " " + getResources().getStringArray(R.array.test_array).length,
Toast.LENGTH_SHORT).show();
}
}
Alors, pourquoi ça marche quand je d'abord appeler la longueur dans une variable puis appelle en outre la longueur comme je voulais? Le niveau Android est de 8/2.2 Cela n'a aucun sens pour moi, alors peut-être que l'un d'entre vous a la moindre idée.
C'est un vieux problème pour tous les développeurs Java. Tout le monde a eu ce problème une fois ou l'autre. –
Ah, oui. Lorsque vous recherchez des problèmes qui semblent horriblement complexes, vous oubliez la possibilité la plus facile ... merci beaucoup. – Morv
@DaysShadow N'oubliez pas de marquer la réponse comme acceptée. Mes excuses si ce n'était pas encore possible. – Klaus