Comment puis-je convertir une chaîne Spinner valeurs telles que "20-34", 35-44 "etc en entier de 20 à 34, entier de 35 à 44 en android.Below est le code pour prendre des valeurs entières de filage et en attribuant des points pour un calcul de mathématiquesConvertir les valeurs de chaîne Spinner "20-34" comme un entier de 20 à 34 dans android
public static int age_value(String gender, String ag) {
int b;
b = Integer.parseInt(ag);
if (gender.equals("f")) {
if (20 <= b && b <= 34) {
ageValue = -7;
} else if (35 <= b && b <= 39) {
ageValue = -3;
} else if (40 <= b && b <= 44)
ageValue = 0;
else if (45 <= b && b <= 49)
ageValue = 3;
else if (50 <= b && b <= 54)
ageValue = 6;
else if (55 <= b && b < 59)
ageValue = 8;
else if (60 <= b && b <= 64)
ageValue = 10;
else if (65 <= b && b <= 69)
ageValue = 12;
else if (70 <= b && b <= 74)
ageValue = 14;
else if (75 <= b && b <= 79)
ageValue = 16;
} else if (gender.equals("m")) {
if (20 <= b && b <= 34) {
ageValue = -9;
} else if (35 <= b && b <= 39) {
ageValue = -4;
} else if (40 <= b && b <= 44)
ageValue = 0;
else if (45 <= b && b <= 49)
ageValue = 3;
else if (50 <= b && b <= 54)
ageValue = 6;
else if (55 <= b && b < 59)
ageValue = 8;
else if (60 <= b && b <= 64)
ageValue = 10;
else if (65 <= b && b <= 69)
ageValue = 11;
else if (70 <= b && b <= 74)
ageValue = 12;
else if (75 <= b && b <= 79)
ageValue = 13;
}
return ageValue;
}
ci-dessous montre la centrifugeuse à laquelle le procédé ci-dessus est ajouté
int array1 = R.array.gender;
// final String[] gender1 = getResources().getStringArray(R.array.gender);
final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.getApplicationContext(), array1, R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.spinnerdrop);
Gender.setAdapter(adapter);
Gender.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
rowgender = parent.getItemAtPosition(position).toString();
if(rowage!=null && rowgender!=null) {
MainActivity.age_value(rowgender, rowage);
}
Gender.setSelection(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
mais il montre une erreur
java.lang.NumberFormatException: Invalid int: "20-34"
'-' n'est pas un' int', utilisation fractionnée puis analyser ou votre logique peut être simplifiée en utilisant la position de la valeur sélectionnée de spinner comme 'si (position == 0) ageValue = -7; ' –
Que voulez-vous Une liste de nombres entre 20-34 ou juste 2 nombres 20 et 34? – TheLostMind
'-' n'est pas un nombre entier. –