2011-12-19 6 views
0

first_nameとlast_nameの2つの別々の列にデータベーステーブルがあります。私はSpinnerに「Smith、John」と表示したい。私はSimpleCursorAdapterを使用して問題のない名前の1つを表示できます。両方の列を表示するには、CursorAdapterを拡張する必要があると思いました。私はこれが正常に動作しているが、私はスピナーのためのカスタムレイアウトを作る必要があるかどうか分からないのですか?私が見つけることができるすべてのCustomAdapterの例は、スピンナーではなく、リストビューを使用しています。ここで私はCustomAdapaterの私のbindView方法で持っているものです。スピナーで2つのDBフィールドを連結する方法(Android)

@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); 
} 

明らかに、渡されたビューがandroid.R.layout.simpler_spinner_dropdown_itemが含まれていないため、これは動作しませんので、nameTextViewはnullです。スピナーのテキストフィールドにはどうすれば到達できますか?

ありがとうございました。

+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 
関連する問題