// Adapter for Spinner 
 ArrayAdapter<String> SPpartAdapter;
 SimpleCursorAdapter SPexerAdapter;
 //Cursor for Database 
 DBHandler dbhandler; 
 Cursor exerCursor;
 
 public static final String[] parts = {"가슴", "어깨", "등", "복부", "이두", "삼두", "하체"};
..
..
..
 // SPpart
  SPpartAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, parts);
  SPpart.setAdapter(SPpartAdapter);
  
  SPpartAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  Log.d("onCreate_Spinner", "Part Spinner Complete");
  
  // SPexercise (from DB)
  exerCursor = dbhandler.selectAll(SPpart.getSelectedItem().toString());
  startManagingCursor(exerCursor);
  
  exerCursor.moveToFirst();
  
  SPexerAdapter = new SimpleCursorAdapter(this, R.layout.list_row, exerCursor, new String[] {"exercise"}, new int[] {R.id.text1}  );
  SPexercise.setAdapter(SPexerAdapter);
  
  SPexerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  Log.d("onCreate_Spinner", "Exercise Spinner Complete");
            

pic1.png pic2.png

 

simpleCursorAdapter를 사용하여 Spinner와 bind시켰는데 다른건 다 정상인데 목록이 표시되지 않네요

 

 

 

액티비티 상의 두개의 Spinner가 사용되는데, 

하나는 단순히 코드 상의 String 배열을 위 사진 처럼 Array  Adapter를 이용하고

 

나머지 하나는 db상에서 한 col을 가져와 simpleCursorAdapter를 이용하여 bind합니다.



전자의 것을 목록의 잘 출력되는데 후자는 목록이 출력이 안되네요 ㅠㅠ 

다만 목록상의 항목의 개수는 db상에서 개수와 일치합니다.

 

또 선택된 하나의 아이템은 표시가 됩니다. 


android.R.layout.simple_spinner_dropdown_item 을 사용하면 안되나 싶어서 레아아웃을 새로 정의 해 봤는데도 안되더라구요 ㅠㅠ

조언주시면 감사하겠습니다 ㅠㅠ

 

 

(list_row.xml 코드 추가 / 2012.01.11.09:24)

 

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"    
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/text1"
        android:textSize="15dp"
        android:textColor="#ff0000"
        android:singleLine="true"
        android:ellipsize="none"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  />
</LinearLayout>