d'un spinner j'ai une fileuse « ouverture » mis en place avec une liste de numéros, et un « mode » spinner avec deux options. Quand un bouton est poussé, j'ai besoin d'un calcul pour utiliser différentes entrées, y compris la sélection actuelle de 'ouverture' et une valeur dérivée de 'mode'. Comment puis-je appeler la valeur d'un spinner afin que je puisse l'utiliser dans un calcul?Appelez la valeur d'un spinner? En outre, utiliser d'autres valeurs basées sur la valeur
En outre, comment puis-je utiliser la sélection de la fileuse « mode pour régler cette autre valeur avant implimenting dans le calcul? Pour être plus précis, si le spinner est réglé sur Small alors la valeur que j'utilise dans le calcul est 0.015, alors que si Large est sélectionné, je dois utiliser 0.028
Mes autres entrées sont des vues EditText, donc maintenant je suis réglé comme ceci:
input = (EditText) findViewById(R.id.input1);
input2 = (EditText) findViewById(R.id.input2);
input3 = (EditText) findViewById(R.id.input3);
input4 = (EditText) findViewById(R.id.input4);
output = (TextView) findViewById(R.id.result);
output2 = (TextView) findViewById(R.id.result2);
//aperture dropdown
Spinner s = (Spinner) findViewById(R.id.apt);
ArrayAdapter adapter2 = ArrayAdapter.createFromResource( this, R.array.apertures,
android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter2);
//button
final Button button = (Button) findViewById(R.id.calculate);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
doCalculation();
}
});
}
private void doCalculation() {
// Get entered input value
String strValue = input.getText().toString();
String strValue2 = input2.getText().toString();
String strValue3 = input3.getText().toString();
String strValue4 = input4.getText().toString();
// Perform a hard-coded calculation
double imperial1 = (Double.parseDouble(strValue3) + (Double.parseDouble(strValue4)/12));
double number = Integer.parseInt(strValue) * 2;
double number2 = ((number/20) + 3)/Integer.parseInt(strValue2);
// Update the UI with the result
output.setText("Result: "+ number);
output2.setText("Result2: "+ imperial1);
}
}
Ce n'est pas l'équation réelle, c'est juste un test pour s'assurer que tout se connecte correctement. Comment puis-je appeler la valeur de spinner « ouverture » et le Petit/Grand spinner « mode »
Merci pour la réponse. Je suis très nouveau à Java, donc je m'excuse. Je crois que Object item = spinner.getSelectedItem(); est la bonne, mais comment l'implémenter? Lorsque j'essaie de l'appeler à partir du calcul, Eclipse dit qu'il ne peut pas résoudre «ouverture». Cela fonctionne bien si je mets le code en dehors du calcul, mais alors dans le calcul il ne peut pas résoudre le nom de l'objet (dans votre exemple "item") – Sean
Merci pour la mise à jour. Eclipse ne montre aucune erreur, mais quand j'ai "Object item = aperture.getSelectedItem();" (Le spinner est nommé ouverture, pas aptSpinner comme dans votre exemple) dans le calcul, il provoque le crash de l'application lorsque je clique sur le bouton. Qu'est-ce qui pourrait causer ça? Désolé encore pour toutes les questions. Je sais que je devrais apprendre le java d'abord et ne pas sauter dans la tête la première comme ceci, mais j'ai besoin de cette application pour un tournage de film ce week-end. Inutile de dire, je vais bientôt avoir des livres Java de toute façon :) – Sean
quelle est l'exception? –