Android中长按输入框可以弹出输入法选择窗口,
如果我想在自己做的程序中捕获这个事件,在输入法
选择窗口弹出之前添加一些别的操作应该怎么做呢?

解决方案 »

  1.   

    phoneEditText.setOnCreateContextMenuListener(new OnCreateContextMenuListener(){
     @Override  
             public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
                    menu.setHeaderTitle(DataAcquisitionAct.this.getResources().getString(R.string.addContact));     
                    menu.add(0, 0, 0, DataAcquisitionAct.this.getResources().getString(R.string.local_phoneNumList));  
                }
    }

    );
    点击选项
    @Override  
         public boolean onContextItemSelected(MenuItem item) {  
     switch (item.getItemId()) {
     case 0:
    //进入通迅录  
            //在通讯录选择内容后返回可以得到你己选中的那个联系人  
            Intent i= new Intent();  
            i.setAction(Intent.ACTION_GET_CONTENT);  
            i.setData(Contacts.People.CONTENT_URI);  
            i.setType("vnd.android.cursor.item/phone");  
            startActivityForResult(i,1);  
    /* Intent intent = new Intent(Intent.ACTION_PICK,Uri.parse("content://com.android.contacts/contacts"));
                 startActivityForResult(intent, 1); */
     /*Intent intent = new Intent();
      intent.setAction(Intent.ACTION_VIEW);
      intent.setData(People.CONTENT_URI);
      startActivity(intent);
         */
     
            
     }
             return super.onContextItemSelected(item);  
         }
      

  2.   

    我这个是个长按EditText 调出通讯录。你可以多加一个选项。
     menu.add(0, 0, 0,“选项1”);  
     menu.add(0, 1, 0,“选项2”); 
    menu.add(0, 2, 0,“选项3”);