2011-12-19 4 views
0

두 개의 별도 열에 first_name과 last_name이있는 데이터베이스 테이블이 있습니다. Spinner에 "Smith, John"이라고 표시하고 싶습니다. SimpleCursorAdapter를 사용하여 문제없이 이름 중 하나를 표시 할 수 있습니다. 두 열을 모두 표시하려면 CursorAdapter를 확장해야한다고 생각했습니다. 이 작업은 정상적으로 수행되었지만 회 전자에 대한 사용자 지정 레이아웃을 만들어야하는지 잘 모르겠습니다. 모든 CustomAdapter 예제는 회 전자가 아닌 목록보기를 사용하고 있습니다. 여기가 CustomAdapater의 제의 Bindview 방법에있는 것입니다 : nameTextView가 null 있도록 전달 된보기, android.R.layout.simpler_spinner_dropdown_item 포함되어 있지 않기 때문에Spinner에서 두 개의 DB 필드를 연결하는 방법 (안드로이드)

@Override 
public void bindView(View view, Context context, Cursor cursor) { 
    TextView nameTextView = (TextView) view.findViewById(android.R.layout.simple_spinner_dropdown_item); 
    String first = cursor.getString(cursor.getColumnIndex(Hunter.FIRST_NAME)); 
    String last = cursor.getString(cursor.getColumnIndex(Hunter.LAST_NAME)); 
    nameTextView.setText(last + ", " + first); 
} 

은 물론,이 작동하지 않습니다. 스피너의 텍스트 필드에 어떻게 도달합니까?

감사합니다.

+0

당신이 할 수없는 것 같습니다. http://stackoverflow.com/questions/10639306/populating-an-android-spinner-from-an-sqlite-but-with-two-fields – dev

답변

1

레이아웃을 newView 메서드로 확장해야한다고 생각합니다. 이

View view = View.inflate(context, android.R.layout.simple_spinner_dropdown_item, null); 
return view; 

을 시도하고 다음의 Bindview에

TextView nameTextView = (TextView) view.findViewById(android.R.id.text1); 
//the rest 
관련 문제