sqlite

2016-04-01 32 views
1

içinde seçili değer değerlerini depolamak Speaknerdan seçilen değeri sqlite veritabanında bulunan mevcut tabloma kaydetmem gerekiyor. İnternetten net bir fikir alamıyorum çünkü sadece db'de spinner değerlerinin nasıl girileceğini gösterir ve seçilmemiş değer.Bu (statik) spinner uygulanması için kodudursqlite

Spinner staticSpinner = (Spinner) findViewById(R.id.static_spinner); 

    // Create an ArrayAdapter using the string array and a default spinner 
    ArrayAdapter<CharSequence> staticAdapter = ArrayAdapter 
      .createFromResource(this, R.array.man_array, 
        android.R.layout.simple_spinner_item); 

    // Specify the layout to use when the list of choices appears 
    staticAdapter 
      .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    // Apply the adapter to the spinner 
    staticSpinner.setAdapter(staticAdapter); 

    Spinner dynamicSpinner = (Spinner) findViewById(R.id.dynamic_spinner); 

    String[] items = new String[] {"rate_of_flow", "30", "40", "50" }; 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, items); 

başvurum hem dinamik ve statik spinner.I bana yardım herhangi preference.Can yok kullanabilir?

cevap

1

Neden sadece seçili öğeyi almak ve

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String selected = parent.getItemAtPosition(position).toString(); 
      //Code to insert selected string in database 
     } 

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

     } 
    }); 
+0

sayesinde uygulamadan çalıştı ve got Bu özel durum -> java.lang.IllegalStateException: CursorWindow öğesinden satır 0, col -1 okunamadı. Veriye erişmeden önce İmleç doğru şekilde başlatıldığından emin olun. Sorun ne olabilir? – Shrei

+0

Bu kodun hatası değil, 'getColumnIndex()' 'İmleç'de belirtilen sütunu bulamadı demektir. Doğruca getColumnIndex() kullandığınız yeri görün. –

+0

pipe flowrate = c.getString (c.getColumnIndex (FLOW_RATE)) Bu değer db'den nasıl geri alınır? – Shrei

1

buradaki gibi veritabanında seçilen değeri eklemek Bu deneyin etmeyin: help.I için

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String string = (String) spinner.getItemAtPosition(spinner.getSelectedItemPosition()); 
      Toast.makeText(YourActivity.this, "Selected Item "+string, Toast.LENGTH_SHORT).show(); 

     } 

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

     } 
    }); 
}