J'utilise trois spins pour obtenir des informations de la part de l'utilisateur, et sur la base de ces informations, je vais ensuite représenter certaines données. Cependant, je n'arrive pas à comprendre comment faire cela. i ai le code suivant (extrait afin de faire apparaître les bits importants):faire une tâche basée sur plusieurs onItemSelectedListeners
final GraphView graph = (GraphView) findViewById(R.id.graph);
Spinner selectGraphSpinner = (Spinner) findViewById(R.id.graphSpinner);
Spinner selectUserSpinner = (Spinner) findViewById(R.id.userSpinner);
Spinner selectTimeSpinner = (Spinner) findViewById(R.id.timeSpinner);
String[] items = new String[]{"Please Select a User", "04950f4ae53f80", "another user"};
// Create ArrayAdapters for Spinners
ArrayAdapter<CharSequence> selectGraphAdapter = ArrayAdapter
.createFromResource(this, R.array.Graphs,
android.R.layout.simple_spinner_item);
ArrayAdapter<String> userSpinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, items);
ArrayAdapter<CharSequence> spinTimeAdapter = ArrayAdapter
.createFromResource(this, R.array.TimeIncrements,
android.R.layout.simple_spinner_item);
selectGraphSpinner.setAdapter(selectGraphAdapter);
selectUserSpinner.setAdapter(userSpinnerAdapter);
selectTimeSpinner.setAdapter(spinTimeAdapter);
le onItemSelectedListeners x 3 répéter pour d'autres spinner:
selectUserSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
itemOne = parent.getItemAtPosition(0).toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
la logique de création de graphiques à ce jour:
while (itemOne != null) {
if (itemOne.equalsIgnoreCase("04950f4ae53f80")) {
if (itemTwo.equalsIgnoreCase("Estimated vs Actual Time")) {
if (itemThree.equalsIgnoreCase("Day")) {
LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(getData(Data, "Day"));
graph.addSeries(series);
} else {
}
} else {
}
} else {
}
}
Je sais que le graphique fonctionne comme j'ai essayé avec un spinner, mais je n'arrive pas à comprendre pourquoi les auditeurs ne sauvegardent pas les variables (que j'ai déclarées global - chaîne statique itemOne, etc) merci edit: les spinners contiennent plusieurs chaînes avec une initiale différente, mais celles utilisées sont mentionnées,