안드로이드 초보입니다...
전화번호부를 불러오는것까지 했는데, 여기서 제가 선택을 하면 그 선택한것만
list에 나오게 하고싶은데.... 어떻게 해야할지 감이안오네요....ㅠㅠ
SimpleCursorAdapter에서 불러오고 선택하는것 같긴한데..
어떻게 해야할지 문의드립니다...
public class InmacMain extends ListActivity {
private static final int MENU_ITEM1 = 1;
private static final int MENU_ITEM2 = 2;
Context c = this;
ContentValues values = new ContentValues();
@SuppressWarnings("deprecation")
String[] projection1 = new String[] {
Contacts.People._ID,
Contacts.People.NAME,
Contacts.People.NUMBER
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, MENU_ITEM1, 0, "추가");
menu.add(0, MENU_ITEM2, 0, "하나만선택");
return result;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Uri contacts = null;
Cursor cursor = null;
switch (item.getItemId()) {
case MENU_ITEM1:
contacts = Contacts.Phones.CONTENT_URI;
break;
case MENU_ITEM2:
contacts = Uri.withAppendedPath(Contacts.People.CONTENT_URI, "10");
break;
}
cursor = managedQuery(contacts, projection1, null, null, null);
if (cursor != null) {
getList(cursor);
return true;
}
else {
Toast.makeText(this, "No data found for the uri: " + contacts.toString(), Toast.LENGTH_LONG).show();
return false;
}
}
@SuppressWarnings("deprecation")
private void getColumnData(Uri uri){
Cursor cur = managedQuery(uri, projection1, null, null, null);
if (cur.moveToFirst()) {
String id;
String name;
String phoneNumber;
int idColumn = cur.getColumnIndex(Contacts.People._ID);
int nameColumn = cur.getColumnIndex(Contacts.People.NAME);
int phoneColumn = cur.getColumnIndex(Contacts.People.NUMBER);
String dump = "";
do {
id = cur.getString(idColumn);
name = cur.getString(nameColumn);
phoneNumber = cur.getString(phoneColumn);
dump += "\n_ID: " + id + "\nNAME: " + name + "\nNUMBER: " + phoneNumber;
} while (cur.moveToNext());
Toast.makeText(this, dump, Toast.LENGTH_LONG).show();
}
}
private void getList(Cursor cur){
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_expandable_list_item_2,
cur,
new String[] { Contacts.People.NAME, Contacts.People.NUMBER},
new int[] { android.R.id.text1, android.R.id.text2 });
setListAdapter(adapter);
}
public void onListItemClick(ListView list, View view, int position, long id)
{
Toast.makeText(InmacMain.this, "추가되었습니다. ",
Toast.LENGTH_SHORT).show();
Intent i = new Intent(c, InmacMain.class);
startActivity(i);
}
private Uri addContact() {
Uri uri = null;
Uri orgUri = null;
Uri mobileUri = null;
Uri faxUri = null;
Uri emailUri = null;
Uri addressUri = null;
values.put(Contacts.People.NAME, "Jane V. Doe");
values.put(Contacts.People.STARRED, 1);
uri = Contacts.People.createPersonInMyContactsGroup(getContentResolver(), values);
Toast.makeText(this, uri.toString(), Toast.LENGTH_LONG).show();
if (uri != null) {
// add company (organization)
orgUri = Uri.withAppendedPath(uri,Contacts.Organizations.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.Organizations.COMPANY,"XYZ Inc");
values.put(Contacts.Organizations.TYPE, Contacts.Organizations.TYPE_WORK);
getContentResolver().insert(orgUri, values);
// add mobile number
mobileUri = Uri.withAppendedPath(uri,Contacts.People.Phones.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.Phones.NUMBER,"1234567890");
values.put(Contacts.Phones.TYPE,Contacts.Phones.TYPE_MOBILE);
getContentResolver().insert(mobileUri, values);
// add fax number
faxUri = Uri.withAppendedPath(uri,Contacts.People.Phones.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.Phones.NUMBER,"1234567890");
values.put(Contacts.Phones.TYPE,Contacts.Phones.TYPE_FAX_WORK);
getContentResolver().insert(faxUri, values);
// add email
emailUri = Uri.withAppendedPath(uri,Contacts.People.ContactMethods.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.ContactMethods.KIND,Contacts.KIND_EMAIL);
values.put(Contacts.ContactMethods.TYPE,Contacts.ContactMethods.TYPE_HOME);
values.put(Contacts.ContactMethods.DATA,"x@x.com");
getContentResolver().insert(emailUri, values);
// add address
addressUri = Uri.withAppendedPath(uri,Contacts.People.ContactMethods.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.ContactMethods.KIND,Contacts.KIND_POSTAL);
values.put(Contacts.ContactMethods.TYPE,Contacts.ContactMethods.TYPE_HOME);
values.put(Contacts.ContactMethods.DATA,"Los Angeles, CA 90024");
getContentResolver().insert(addressUri,values);
}
return uri;
}
}
공지사항을 다 읽었습니다.
답변부탁드려요 ...