2013-07-09 2 views
0

내 데이터베이스에서 스피너 용 데이터 데스크를 가져 오려고했으나 표시되지 않습니다. 스피너에서 아이템을 설정하는 코드는 다음과 같습니다. 나는 그것을 실행하려고데이터베이스에서 데이터를 가져 와서 스피너에 넣으십시오.

protected void onPostExecute(String file_url) { 
    // dismiss the progress dialog after getting all desk 
    pDialog.dismiss(); 
    // updating UI from Background Thread 
    runOnUiThread(new Runnable() { 
     public void run() { 
      // Get desk 
      for (int i = 0; i < nodes.getLength(); i++) { 
       HashMap<String, String> map = new HashMap<String, String>); 
       Element e = (Element) nodes.item(i); 

       map.put("desk", parser.getValue(e, "desk")); 
       mylist.add(map); 
      } 
      // Adding myList to ListView 
      ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,android.R.layout.simple_spinner_item,new String[] { "desk" }); 
      s.setAdapter(adapter); 
     } 
    }); 

, 그것은 단지 desk 내 코드에 문제가 아니라 DB 내 데이터를 표시?

+0

참고로, UI 스레드에서'onPostExecute'가 약간 호출됩니다. – adneal

+0

@adneal 나는 그것을 얻지 못합니까? 그것은 안드로이드에 대한 응용 프로그램을 구축하는 내 처음이야, 내가 listview에 대한 동일한 코드를 시도하고 작동하지만 어떻게 든 그것은 회 전자에 대해 작동하지 않습니다? – Darjeeling

+0

'onPostExecute'의 UI 쓰레드에서 이미 실행 중이기 때문에'runOnUiThread'를 호출 할 필요가 없다고 말하고있었습니다. 정말로 귀하의 질문에 대한 지시는 아닙니다. – adneal

답변

1
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item ,mylist); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
s.setAdapter(adapter); 
관련 문제