Android通讯录开发之删除功能的实现方法

2019-12-10 20:12:50王旭

        <item
            android:id="@+id/delete_item"
            android:icon="@drawable/delete"
            android:title="删除">
        </item>
        <item
            android:id="@+id/sync_item"
            android:icon="@drawable/sync_manage"
            android:title="同步">
        </item>
    </group>

</menu>


icon为菜单图标
title为菜单文本
2. 代码实现
复制代码
/**
  * 创建菜单
  */
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.meetting_contact_menu, menu);
  selectAllItem = menu.findItem(R.id.select_all_item);
  return true;
 }

 

 // 当用户打开菜单的时候触发
 @Override
 public boolean onMenuOpened(int featureId, Menu menu) {
  if (menu != null) {
   refreshSelectAllItemIcon();
  }
  return super.onMenuOpened(featureId, menu);
 }

 /**
  * menu的点击事件
  */
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
  case R.id.select_all_item:
   if (isAllChecked) { // 反选
    item.setIcon(R.drawable.select_all_not);
    invertSelection();
   } else { // 全选
    if (contactList.size() == 0) {
     Toast.makeText(this, "目前没有可选的联系人", Toast.LENGTH_SHORT)
       .show();
     break;
    }
    item.setIcon(R.drawable.select_all);
    selectAllContacts();
   }
   break;