【问题标题】:how to add multi contact picker?如何添加多联系人选择器?
【发布时间】:2017-11-24 05:52:44
【问题描述】:

我正在关注这个库来添加联系人选择器https://github.com/codinguser/android_contact_picker,并且我可以通过添加到我的EditTextBox 来成功获取号码,但是,我想添加从联系人中选择的多个联系人,并且只添加特别是@987654323 的号码@这是我的联系人选择器活动,我一直在想在哪里添加适配器来完成它,有什么帮助吗?:

public class ContactsPickerActivity extends AppCompatActivity implements OnContactSelectedListener {
public static final String SELECTED_CONTACT_ID  = "contact_id";
public static final String KEY_PHONE_NUMBER     = "phone_number";
public static final String KEY_CONTACT_NAME     = "contact_name";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contacts);

    FragmentManager         fragmentManager     = this.getSupportFragmentManager();
    FragmentTransaction     fragmentTransaction = fragmentManager.beginTransaction();
    ContactsListFragment fragment           = new ContactsListFragment();

    fragmentTransaction.replace(R.id.fragment_container, fragment);
    fragmentTransaction.commit();

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setTitle("Select contact");
    }
}


@Override
public void onContactNameSelected(long contactId) {
    /* Now that we know which Contact was selected we can go to the details fragment */

    Fragment    detailsFragment = new ContactDetailsFragment();
    Bundle      args            = new Bundle();
    args.putLong(ContactsPickerActivity.SELECTED_CONTACT_ID, contactId);
    detailsFragment.setArguments(args);
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    // Replace whatever is in the fragment_container view with this fragment,
    // and add the transaction to the back stack
    transaction.replace(R.id.fragment_container, detailsFragment);

    transaction.addToBackStack(null);
    // Commit the transaction
    transaction.commit();
}

/**
 * Callback when the contact number is selected from the contact details view 
 * Sets the activity result with the contact information and finishes
 */
@Override
public void onContactNumberSelected(String contactNumber, String contactName) {
    Intent intent = new Intent();
    intent.putExtra(KEY_PHONE_NUMBER, contactNumber);
    intent.putExtra(KEY_CONTACT_NAME, contactName);

    setResult(RESULT_OK, intent);
    finish();
}

【问题讨论】:

  • 我被卡住了,你能帮我怎么做
  • 你一定要给我电子邮件ID,我会向你发送所有代码......
  • 好的,ashishpandey310@gmail.com
  • @RavishSharma 请发送邮件

标签: android contactpicker


【解决方案1】:

试试这个库https://github.com/1gravity/Android-ContactPicker 它将帮助您选择多个联系人。您将在 onActivityResult() 方法中获取选定的联系人,从这里您可以将其显示在 editText 中。

【讨论】:

  • Manoj 以前我只使用过这个库,但这里只能获取姓名,但我的要求是号码而不是联系人,我需要显示联系人号码而不是姓名,所以如何做到这一点。跨度>
  • 是的,您也可以显示数字。 putExtra(ContactPickerActivity.EXTRA_CONTACT_DESCRIPTION, ContactDescription.ADDRESS.name()) 在这一行而不是使用 ADDRESS.name() 使用 PHONE.name()
  • 它不工作仍然名副其实我该怎么办?
  • 你能给我任何建议吗?
  • 此库不支持 sdk 28+
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 2016-12-16
相关资源
最近更新 更多