2016-05-12 2 views
0

Dies ist meine Schaltfläche zum Speichern der Schaltflächen meiner Datenbank.Wie kann ich jeden Spinner-Wert in der SQLite-Datenbank speichern?

btnsave.setOnClickListener(new View.OnClickListener() 
{ 
    @Override 
    public void onClick(View v) { 
     pd.setFname(et1.getText().toString()); 

     pd.setLname(et2.getText().toString()); 

     pd.setPhone(et3.getText().toString()); 

     pd.setRelation(spinner1.getSelectedItem().toString()); 

     int spinner_pos=spinner1.getSelectedItemPosition(); 
     String[]relation=getResources().getStringArray(R.array.addrelation); 

     String mg = he.save(pd); 

     m.setText(mg); 
    } 
}); 

Es speichert nur den ersten Spinner-Wert in jedem Datensatz.

Antwort

0

der schnelle Weg ist es, eine Schleife in setOnclickListner zu verwenden (es kann einige besser sein, dies zu tun):

btnsave.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) { 

       int nSpinnerItemsCount = spinner1.getCount(); 

       for(int nCounter = 0; nCounter < nSpinnerItemsCount; nCounter ++) 
       { 
       pd.setFname(et1.getText().toString()); 

       pd.setLname(et2.getText().toString()); 

       pd.setPhone(et3.getText().toString()); 

       pd.setRelation(spinner1.getItemAtPosition(nCounter).toString()); 
       String mg = he.save(pd); 

       m.setText(mg); 

       } 


     }); 

spinner1.getItemAtPosition (nCounter) .toString() ist der Schlüssel. auf Ihrem Code verwenden Sie int spinner_pos = spinner1.getSelectedItemPosition();

Standardmäßig gibt es immer den Index des ersten Elements im Spinner zurück (wenn ein anderes Element ausgewählt ist).

Also mit spinner1.getCount, eine Schleife und getItemAtPosition haben Sie alle Elemente im Spinner und tun, was Sie tun möchten.

Hoffe, dass hilft.

+0

Es zuerst gearbeitet, aber jetzt ist es nur den letzten Wert nehmen, ich tat dies: for (int nCounter = 0; nCounter

Verwandte Themen