여러 개의 행을 포함하는 사용자 정의 dropDownList를 만들어 내 데이터베이스에서 채울 수 있기 때문에 SimpleCursorAdapter를 사용하고 있습니다. 이 작업을 아주 잘 수행했지만, 레이아웃 활동에서 스피너가 선택된 행을 표시하고 선택한 행의 첫 번째 행만 표시하도록 별도의 레이아웃을 갖고 싶습니다. 이것을 어떻게 할 수 있습니까?Android Spinner : 맞춤 어댑터 디스플레이
public class GrainSpinnerAdapter extends SimpleCursorAdapter {
private Context myContext;
public GrainSpinnerAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
super(context, layout, c, from, to);
myContext = context;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
int nameColumn = cursor.getColumnIndex("name");
String getName = cursor.getString(nameColumn);
TextView name = (TextView)view.findViewById(R.id.GrainSpinnerName);
name.setText(getName);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
super.newView(context, cursor, parent);
View view = View.inflate(context, R.layout.grain_spinner, null);
return view;
}
@Override
public View newDropDownView(Context context, Cursor cursor, ViewGroup parent) {
super.newDropDownView(context, cursor, parent);
View view = View.inflate(context, R.layout.grain_spinner_row, null);
int nameColumn = cursor.getColumnIndex("name");
String getName = cursor.getString(nameColumn);
TextView name = (TextView)view.findViewById(R.id.GrainSpinnerName);
name.setText(getName);
int loviColumn = cursor.getColumnIndex("lovibond");
String getLovi = cursor.getString(loviColumn);
TextView lovi = (TextView)view.findViewById(R.id.GrainSpinnerLovibond);
lovi.setText(getLovi);
int gravityColumn = cursor.getColumnIndex("gravity");
String getGravity = cursor.getString(gravityColumn);
TextView gravity = (TextView)view.findViewById(R.id.GrainSpinnerGravity);
gravity.setText(getGravity);
return view;
}
완전하게 측면 주제에, homebrewing이 응용 프로그램입니까? :) –