2011-02-07 13 views
6

'daki SQL sorgusundan alınan dize değeri burada korkunç bir şekilde yanlıştır ve nasıl yapacağınızı tam olarak bilmiyorum. Bir CursorAdapter aracılığıyla bir SQLite veritabanı sorgusundan doldurulmuş bir Spinner var. Seçilmiş olan öğenin metnini (değerini) almam gerekiyor. Bu çöpü denedim: metni almak içinCursorAdapter tarafından desteklenen bir Spinner'dan String değeri, Android

, ancak her seferinde çöküyor. Bunu yapmanın doğru yolu nedir? . Ben

/// qc defined above as a SimpleCursorAdapter 
/////////setup product selection spinner from db 
prdSpn = (Spinner)findViewById(R.id.prd_spn); 
Cursor prdCur = null; 
try { 
    prdCur = mDb.query(smsDbSchema.ProductSchema.TABLE_NAME, null, null, null, null, null, null); 
} catch(Exception e) { 
    Log.e("smsdb", e.toString()); 
} 
prdCur.moveToFirst(); 
startManagingCursor(prdCur); 
qc = new SimpleCursorAdapter(
    this, 
    android.R.layout.simple_spinner_item, 
    prdCur, 
    new String[] {smsDbSchema.ProductSchema.COLUMN_NAME}, 
    new int[] {android.R.id.text1} 
); 
qc.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
prdSpn.setAdapter(qc); 

cevap

7

Kod ... moonlightcheese tarafından

Cursor theCursor = qc.getCursor(); 
String theString = theCursor.getString(theCursor.getColumnIndex(<your column name here>)); 

DÜZENLEME:

uygulaması:

Cursor theCursor = (Cursor)prdSpn.getSelectedItem(); 
Log.e("spnERRtest", "Item: " + theCursor.getString(theCursor.getColumnIndex(smsDbSchema.ProductSchema.COLUMN_NAME))); 
//theCursor.getString(theCursor.getColumnIndex(smsDbSchema.ProductSchema.COLUMN_NAME)).contains("CAR") 
+2

Ben böyle bir şey uygulamaya sona erdi. Uygulamayı tam olarak göstermek için önceki yayınının altındaki bu yorumu düzenledim. cevap için teşekkürler. – moonlightcheese

+0

@moonlightcheese: Biraz yardım aldığına sevindim. – Squonk

+0

Gerçekten yararlı oldu thanx (@MisterSquonk ve @moonlightcheese) –

0

((İmleç) prdSpn.getItemAtPosition (prdSpn.getSelectedItemPosition())) getString (prdSpn.getSelectedItemPosition())

: Burada ilgili olabilecek bazı ek kod m neden getSelectedItemPosition()'u getString()'a aktardığınızı açık değil. İstediğiniz verilere sahip sütunun sütun numarasını geçmemelisiniz? Bu sütun, döndürücüde seçilen sırayla ilgisi yok mu? Benim için aşağıdaki çalışmalara benzer

+0

ve ben verilen uygun Columnıd alacağı nasıl seçili madde pozisyonu. – moonlightcheese

+0

Sütun kimliği bilinmiyor, ancak sütun adı ise, standart yöntem imlecin üzerinde getColumnIndex() kullanmaktır. –

İlgili konular