안드로이드 개발 질문/답변
(글 수 45,052)
갤럭시탭으로 책에 예제를 따라 하고 있는 중에 아래 코드에서 빨간색으로 표시한 부분에서
Contacts.Peoples 요 부분과 People.NAME 요 부분에 검은색 줄이 그어져 있으면서 리스트를 가져오지 못하는데요.
예제 내용은 대충 이렇습니다.
"연락처 선택" 이라는 버튼을 클릭하면 연락처가 죽 들어있는 다른 액티비티를 띄우고, 그중에서 임의의 이름을 클릭하면 그 이름이 원래의 액티비티에 표시가 되어야 하는 예제에요.
현재 버튼을 클릭하면 새로운 액티비티가 띄워지긴 하는데 리스트가 보이지 않아요.
왕초보라 어떻게 고쳐야 할지 난감해요.
도움 부탁드려요.
package com.paad.contactpicker;
import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.Contacts.People; import android.widget.ListView; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.AdapterView.OnItemClickListener; import android.widget.TextView;
import java.util.ArrayList;
@SuppressWarnings("deprecation") public class ContactPicker extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); Intent intent = getIntent(); String dataPath = intent.getDataString(); final Uri data = Uri.parse(dataPath + "people/"); final Cursor c = managedQuery(data, null, null, null, null); String[] from = new String[] {People.NAME}; int[] to = new int[] {R.id.itemTextView};
SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, R.layout.listitemlayout, c, from, to); ListView lv = (ListView)findViewById(R.id.contactListView); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int pos, long id) { c.moveToPosition(pos); int rowId = c.getInt(c.getColumnIndexOrThrow("_id")); Uri outURI = Uri.parse(data.toString() + rowId); Intent outData = new Intent(); outData.setData(outURI); setResult(Activity.RESULT_OK, outData); finish(); } }); } }