zxd_72 2013-04-02 09:46 采纳率: 0%
浏览 2542
已采纳

长时间按 optionMenu 按钮时触发 input keyboard 出现的问题

我在程序中创建了一个optionMenu,当我长时间按optionMenu 按钮时,inputKeyboard就会出现。如何设置当长时间按optionMenu 按钮时,不让 input keyboard 出现?

   public boolean onCreateOptionsMenu(Menu menu)
            {                   
                MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.menu, menu);
                return true;
            }

            public boolean onOptionsItemSelected(MenuItem item)
            {   

                switch (item.getItemId()) 
                {
                    case R.id.settingOpt:                           
                    Intent intent = new Intent(this, SettingForm.class);
                    this.startActivity(intent);  
                    break;         

                    case R.id.reminderOpt:                          
                    Intent intentR = new Intent(this, ReminderForm.class);
                    this.startActivity(intentR);   
                    break;

                    case R.id.helpOpt:                          
                    Intent intentH = new Intent(this, HelpForm.class);
                    this.startActivity(intentH);                                    
                    break;

                    case R.id.shareOpt:                             
                    Intent share = new Intent(android.content.Intent.ACTION_SEND);
                    share.setType("text/plain");
                    share.putExtra(Intent.EXTRA_SUBJECT, "Name of the thing to share");
                    share.putExtra(Intent.EXTRA_TEXT, "www.gmail.com");
                    startActivity(Intent.createChooser(share, "Title of the dialog that will show up"));
                    break;

                    default:

                    return super.onOptionsItemSelected(item);       
                }
                return true;
         }
  • 写回答

2条回答

  • myq_26 2013-04-03 05:20
    关注

    我找到解决问题的方法,要在 Launcher2 应用中

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        boolean handled = super.onKeyDown(keyCode, event);
    
    
        // Eat the long press event so the keyboard doesn't come up.
        if (keyCode == KeyEvent.KEYCODE_MENU && event.isLongPress()) {
            return true;
        }
    
        return handled;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致
  • ¥15 禅道二次开发编辑版本,上传不了发行包