0
我已經提出了一個應用程序,它調用了手機的聯繫人列表,但我想以我自己的方式處理聯繫人姓名和號碼。是否有任何方法可以在兩個不同的陣列中獲取數字和名稱? 這是我的代碼...一個活動,另外兩個是佈局..我試圖動態添加文本視圖列表視圖,但無法管理...可能是這就是爲什麼我沒有得到數字和名稱列表視圖.. 請幫助我。非常緊急..在此先感謝..如何在android應用程序的兩個不同數組中獲取聯繫人姓名和號碼?
package application.test;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.content.Intent;
import android.database.Cursor;
public class TestActivity extends ListActivity{
private static final int PICK_CONTACT = 0;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//content uri provide directory of people
Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intentContact, PICK_CONTACT);
}//onCreate
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode ==PICK_CONTACT)
{
getContactInfo(intent);
}
}//onActivityResult
protected void getContactInfo(Intent intent)
{
String name;
Cursor cursor = managedQuery(intent.getData(), null, null, null, null);
while (cursor.moveToNext())
{
//contains row id
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
//whether contact list atleast have a single contact or not
String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
hasPhone = "true";
else
hasPhone = "false" ;
if (Boolean.parseBoolean(hasPhone))
{
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null);
while (phones.moveToNext())
{
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}//end
phones.close();
}//end
cursor.close();
}//end while
}//end method
}//end class........
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<TextView
android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>........
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/bottomtext"
android:singleLine="true"
android:ellipsize="marquee"
/>
</LinearLayout>
</LinearLayout> .........
請通過此 HTTP一個ArrayList://計算器.COM /問題/ 866769 /如何對呼叫Android的聯繫人列表 –
您需要參考的[鏈接] [1] [1]:http://stackoverflow.com/questions/ 866769/how-to-call-android-contacts-list –
謝謝4信息... –