2010-01-15 7 views
0

나는 카테고리를 표시하는 회 전자 위젯이있는 활동이 있습니다. 처음에 나는 다음과 같은 코드SimpleCursorAdapter와 함께 회 전자 사용

private static final String[] arrayCategories = { 
    "Business", 
    "Personal" 
}; 

mCatSpinner = (Spinner) findViewById(R.id.thecategory); 
ArrayAdapter<String> catAdapter = new ArrayAdapter<String>(this, R.layout.track_category_item, arrayCategories); 
catAdapter.setDropDownViewResource(R.layout.track_category_dropdown_item); 
mCatSpinner.setAdapter(catAdapter); 

이 잘 작동하며, 선택하지 않았을 경우 스피너는 기본적으로 첫 번째 배열 항목을 표시에서와 회 전자를 채울 ArrayAdapter와를 사용했다. 항목을 실제로 선택하면 선택한 항목이 표시됩니다.

이제 SimpleCursorAdapter를 사용하여 목록 내용을 db에서 가져 오려고합니다. 그래서

으로 변경했습니다.
SimpleCursorAdapter scaCategories = new SimpleCursorAdapter(this, R.layout.track_category_item,cCategories,new String[] {DBAdapter.KEY_CATEGORIES_NAME},new int[]{R.id.text1}); 
scaCategories.setDropDownViewResource(R.layout.track_category_dropdown_item); 
mCatSpinner = (Spinner) findViewById(R.id.thecategory); 
mCatSpinner.setAdapter(scaCategories); 

이렇게하면 드롭 다운이 채워지지만 첫 번째 항목은 회 전자에 표시되지 않습니다. 선택한 경우에도 선택한 항목이 표시되지 않습니다.

나는

if(mCatSpinner.isSelected() != true) { 
    mCatSpinner.setSelection(0); 
} 

를 사용하여 첫 번째 항목으로 setSlection을 시도하지만

어떤 문제가 작동하지 않았다?

답변

2

레이아웃 xml에서 위젯 ID를 지정하면 도움이됩니다. < :(

+2

** 답변을 수락해도 ** 튜브가 막히지 않습니다. 감사합니다 :) –