2016-05-12 11 views
0

Ich möchte das ausgewählte Element von Spinner in Datenbank einfügen, wenn Speichern Schaltfläche gedrückt wird. Es gibt zwei Spinner. Einer ist vom Array belegt und der andere ist von SQLite d/b. Wie kann ich die Zeichenfolge des ausgewählten Elements für beide Spinner abrufen. Mein Code ist als unten:Gewähltes Element von Spinner

public class addLecture erweitert AppCompatActivity implementiert AdapterView.OnItemSelectedListener {

Spinner spinner_day; 
Spinner spinner_subject; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_lecture); 

    spinner_subject = (Spinner) findViewById(R.id.spinner_subject); 
    spinner_day = (Spinner) findViewById(R.id.spinner_day); 

    loadSpinner_subjectData(); 
    loadSpinner_dayData(); 
} 


private void loadSpinner_subjectData(){ 
    SubjectDbHelper subjectDbHelper=new SubjectDbHelper(getApplicationContext()); 
    List<String> spinner_name=subjectDbHelper.getSpinnerItem(); 

    ArrayAdapter<String> spinner_adapter= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinner_name); 
    spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner_subject.setAdapter(spinner_adapter); 
} 

private void loadSpinner_dayData(){ 

    String day_name[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; 

    ArrayAdapter<String> spinner_dayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,day_name); 
    spinner_dayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner_day.setAdapter(spinner_dayAdapter); 

} 

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    //not working String label=parent.getItemAtPosition(position).toString(); 

// not working String spinner_item_day=spinner_day.getItemAtPosition(position).toString(); 

/*not working SQLiteCursor subject=(SQLiteCursor)parent.getItemAtPosition(position); 
    String spinner_item_subject=String.valueOf(subject.getString(position));*/ 

    //log is not shown Log.d("spinner",spinner_item_day); 

} 

@Override 
public void onNothingSelected(AdapterView<?> parent) { 

} 

}

Antwort

0

In Ihrem ItemSelectedListener haben angegeben Sie nicht, welche Spinner es hört, so dass Ihr Code sollte in etwa so aussehen:

spinner_day.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

      String selectedDay = (String) parent.getItemAtPosition(position); 
      // or parent.getSelectedItem(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

Gleiches sollte für den anderen Spinner sein, versuche das, lass es mich wissen, wenn das nicht funktioniert.

Verwandte Themen