2011-05-05 118 views
0

我一直在閱讀關於這個幾個小時的東西,仍然沒有想出如何做到這一點。微調選定項目

我設法從光標讀取數據庫中填充微調器,現在我試圖讓微調器上的選定項目幫助填充列表視圖。

這裏是我的代碼:

Cursor cursorpf = DatabaseHelper.getPFunc(); 
    startManagingCursor(cursorpf); 

    Spinner spinnerpf = (Spinner) findViewById(R.id.spinner1); 

    String[] frompf = new String[] { "Designacao" }; 
    int[] topf = new int[] { android.R.id.text1 }; 

    SimpleCursorAdapter scaPFunc = new SimpleCursorAdapter(this, 
      android.R.layout.simple_spinner_item, cursorpf, frompf, topf); 
    scaPFunc 
      .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    spinnerpf.setAdapter(scaPFunc); 
    spinnerpf.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
    final String stringpf = MyOnItemSelectedListener.getSelected(); 
      long id = spinnerpf.getSelectedItemId(); 
    String stringpf = String.valueOf(id); 
    DatabaseHelper.setPF(stringpf); 

MyOnItemSelectedListener類:

public class MyOnItemSelectedListener implements OnItemSelectedListener { 

private static String selected = ""; 

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

    selected = String.valueOf(id); 
Toast.makeText(parent.getContext(), "Escolha: " + selected, Toast.LENGTH_LONG).show(); 


} 

@SuppressWarnings("unchecked") 
public void onNothingSelected(AdapterView parent) { 
    // Do nothing. 
} 

}

這一類的祝酒返回光標位置。現在,我知道我必須將它與數據庫進行比較才能獲得我想要的值,但我無法做到。你能幫我解決嗎?

在此先感謝。

編輯: 夥計們,你會幫我嗎? 我設法通過實現上面的代碼來獲得選定的項目,但它恰巧是在應用程序啓動時才填充listview。當我在微調器上選擇一些東西時,沒有任何反應。 :|

+0

如果沒有人在我回家之前看過這個,我會幫助你出 – Klaus 2011-05-05 13:50:28

+0

謝謝克勞斯! :) – 2011-05-05 14:01:44

回答

0

如果你想要從數據庫中選擇項目,只是通過的onItemSelectedid)第四個參數爲您的SQL查詢。這是該記錄的行ID,又名_ID

+0

我已經將它傳遞給查詢。問題是我正在傳遞值而不是光標位置。我怎樣才能做到這一點? – 2011-05-05 14:01:34

+0

對不起,我沒有得到你。 'onItemSelected'具有光標位置(3d arg)和行ID(第四個)。你還需要什麼? – ernazm 2011-05-05 14:14:09

+0

我想我明白我必須做的事情。但是現在,由於某種原因,我設法從MyOnItemSelectedListener類中調用get方法,但字符串沒有收到任何東西。想想我今天就休息一下...... – 2011-05-05 15:34:21

相關問題