안드로이드 개발 질문/답변
(글 수 45,052)
public class ContentProvider extends Activity {
ListView listView;
private static String[] projections = new String[] {Data._ID,Data.DISPLAY_NAME};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contentprovider);
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI,
projections, null, null, null);
startManagingCursor(cursor);
listView = (ListView)findViewById(R.id.contentListView);
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor,
new String[]{ Data._ID, Phone.DISPLAY_NAME },
new int[]{android.R.id.text1, android.R.id.text2 });
listView.setAdapter(adapter); 이 부분에서 NullPointerException 이 뜨는데.. adpater 설정 부분에서 문제가 있는건가요??
}
}




저기는 simpleCursorAdapter에서 cursor를 가져오는 경우 칼럼이 _id가 꼭 있어야. 한다고 합니다.
_id가 있는지 확인해보세요 대문자 _ID도 안됩니다. 무조건 소문자 _id로..
아니면 rowId _id 이렇게 칼럼 조건을 더 주시면 처리가능 합니다.
이게 정확한지는 모르겠네요;;