Autore Topic: Inviare data tra due spinner nella stessa activity  (Letto 44 volte)

Offline enecco

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Inviare data tra due spinner nella stessa activity
« il: 17 Novembre 2016, 10:21:50 CET »
0
Ciao a tutti, sto cercando di inviare una stringa che recupero dalla selezione di uno oggetto spinner ed inviarlo ad un altro utilizzo due funzioni

Codice (Java): [Seleziona]
private void loadSpinnerData() {

        ArrayList<String> labels = new ArrayList();
        db=openOrCreateDatabase("DSCHOOL.DB", Context.MODE_PRIVATE, null);
            String selectQuery = "SELECT * FROM anno GROUP BY anno ORDER BY anno ASC";
            Cursor cursor = db.rawQuery(selectQuery, null);
                if (cursor.moveToFirst()) {
                    do {
                        String anno = cursor.getString(cursor.getColumnIndex("anno"));
                        labels.add(anno);
                    } while (cursor.moveToNext());
                }
            cursor.close();
        db.close();
        //Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, labels);
        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // attaching data adapter to spinner
        spinner.setAdapter(dataAdapter);
       // spinner.setOnItemSelectedListener(this);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String labels = parent.getItemAtPosition(position).toString();

                Toast.makeText(parent.getContext(), "Hai selezionato: " + labels,
                        Toast.LENGTH_LONG).show();
            }
            public void onNothingSelected(AdapterView<?> parent) {
            }

        });

       loadClassi();
   }

si qui tutto bene, riesco a caricare nello spinner il contenuto. Al termine c'è una chiamata per cariare la funzione loadClassi();

Codice (Java): [Seleziona]
private void loadClassi() {

        ArrayList<String> label = new ArrayList();
        db=openOrCreateDatabase("DSCHOOL.DB", Context.MODE_PRIVATE, null);
        String selectQuery = "SELECT * FROM ANNO"+ spinner.getSelectedItem().toString() + " WHERE anni = "+ spinner.getSelectedItem().toString() + " GROUP BY classi ORDER BY classi ASC";
        Cursor cursor = db.rawQuery(selectQuery, null);
        if (cursor.moveToFirst()) {
            do {
                String classi = cursor.getString(cursor.getColumnIndex("classi"));
                label.add(classi);
            } while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, label);
        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // attaching data adapter to spinner
        spinnerClasse.setAdapter(dataAdapter);
        spinnerClasse.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String labels = parent.getItemAtPosition(position).toString();
                Toast.makeText(parent.getContext(), "Hai selezionato: " + labels,
                        Toast.LENGTH_LONG).show();
            }
            public void onNothingSelected(AdapterView<?> parent) {
            }

        });
 }

è proprio questo il punto. Come faccio a passare in questa funzione + labels che ha il valore dello spinner ? Ho provato inserendo "+ spinner.getSelectedItem().toString() +ma non ho ottenuto nulla.

Codice (Java): [Seleziona]
String selectQuery = "SELECT * FROM ANNO"+ spinner.getSelectedItem().toString() + " WHERE anni = "+ spinner.getSelectedItem().toString() + " GROUP BY classi ORDER BY classi ASC";
Grazie per la collaborazione