안드로이드 개발 질문/답변
(글 수 45,052)
주소록 -> 리스트뷰로 불러오는 연습중인데요.
한 홈페이지(http://xwing.tistory.com/110)에 그런 내용이 있습니다.
그런데 지금 이클립스에 위 링크 내용과 똑같이 써놔도 에러가 나서요.
에러 나는 부분이
persons.add(contactCursor.getString(1) + "/" + contactCursor.getString(0));
부분의 add와,
46번라인의 }입니다.
//////////////////////////
앗!! 에러메세지 추가합니다.
add부분의 에러메세지는 :
The method add(DocFlavor.STRING) in the type ArrayList<DocFlavor.STRING> is not applicable for the arguments (String)
46번라인 }의 에러메세지는 :
Syntax error, insert"}"to complete ClassBody
//////////////////////////////////////////////
제가 이클립스 상에서 뭔가 설정을 안해둔 부분이 있는걸까요?
원인을 모르겠네요... ㅠㅠ
2011.07.10 20:48:05
Syntax error, insert"}"to complete ClassBody ㅡmmㅡ;; 이건 } 를 잘못 맞춰서 그러신게 아닐까요, 닫는거 하나가 부족한거 같은데
2011.07.11 09:49:55
public class PersonList extends Activity {ListView listPerson;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listPerson = (ListView) findViewById(R.id.listPerson);
getList();
} public void getList() {
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME };
String[] selectionArgs = null;
// 정렬
String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
+ " COLLATE LOCALIZED ASC";
// 조회해서 가져온다
Cursor contactCursor = managedQuery(uri, projection, null,
selectionArgs, sortOrder);
// 정보를 담을 array 설정
ArrayList<String> persons = new ArrayList<String>();
if (contactCursor.moveToFirst()) {
do {
persons.add(contactCursor.getString(1) + "/"
+ contactCursor.getString(0));
} while (contactCursor.moveToNext());
}
// 리스트에 연결할 adapter 설정
ArrayAdapter<String> adp = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, persons);
// 리스트뷰에 표시
listPerson.setAdapter(adp);
}}
해당 사이트 코드를 복사해서 해본 겁니다.
STRING -> String로 바궜습니다. 맞는건지 모르겐네요..
에러 없습니다.




에러 메시지를 같이 올려주셔야지 쉽게 문제를 찾아주실텐데요 ^^