Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何模拟后退按钮来隐藏键盘?_Android - Fatal编程技术网

Android:如何模拟后退按钮来隐藏键盘?

Android:如何模拟后退按钮来隐藏键盘?,android,Android,这个问题可能看起来微不足道,但我找不到任何好的简单的解决办法 我有一个带有EditText和软件“后退”按钮的活动,该按钮只调用活动的finish()方法。 当我点击编辑文本时,会显示一个软键盘来输入文本 我希望在单击“后退”按钮时实现以下功能(与硬件后退按钮完全相同): -隐藏键盘时,onClick方法应调用finish()以结束活动 -显示键盘时,onClick方法应隐藏键盘 有什么简单的方法可以做到这一点吗?键盘状态 查找键盘是否隐藏? getWindow().setSoftInputMo

这个问题可能看起来微不足道,但我找不到任何好的简单的解决办法

我有一个带有EditText和软件“后退”按钮的活动,该按钮只调用活动的finish()方法。 当我点击编辑文本时,会显示一个软键盘来输入文本

我希望在单击“后退”按钮时实现以下功能(与硬件后退按钮完全相同):
  • -隐藏键盘时,onClick方法应调用finish()以结束活动
  • -显示键盘时,onClick方法应隐藏键盘


    有什么简单的方法可以做到这一点吗?

    键盘状态 查找键盘是否隐藏? getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u输入\u状态\u始终可见)

    选择后退按钮 1) 首先,您必须在功能中检测back key: 以下是代码: 开始更改“后退”按钮,行为,您需要覆盖onKeyDown() 方法,然后检查所需按钮是否已按下:

      //Override the onKeyDown method  
        @Override  
        public boolean onKeyDown(int keyCode, KeyEvent event)  
        {  
            //replaces the default 'Back' button action  
            if(keyCode==KeyEvent.KEYCODE_BACK)  
            {  
                //do whatever you want the 'Back' button to do  
                //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
                this.startActivity(new Intent(YourActivity.this,NewActivity.class));  
            }  
            return true;  
        }  
    
    至少对于安卓2.0来说是这样

    @Override  
    public void onBackPressed()  
    {  
        //do whatever you want the 'Back' button to do  
        //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
        this.startActivity(new Intent(YourActivity.this,NewActivity.class));  
    
        return;  
    }  
    

    键盘状态 查找键盘是否隐藏? getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u输入\u状态\u始终可见)

    选择后退按钮 1) 首先,您必须在功能中检测back key: 以下是代码: 开始更改“后退”按钮,行为,您需要覆盖onKeyDown() 方法,然后检查所需按钮是否已按下:

      //Override the onKeyDown method  
        @Override  
        public boolean onKeyDown(int keyCode, KeyEvent event)  
        {  
            //replaces the default 'Back' button action  
            if(keyCode==KeyEvent.KEYCODE_BACK)  
            {  
                //do whatever you want the 'Back' button to do  
                //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
                this.startActivity(new Intent(YourActivity.this,NewActivity.class));  
            }  
            return true;  
        }  
    
    至少对于安卓2.0来说是这样

    @Override  
    public void onBackPressed()  
    {  
        //do whatever you want the 'Back' button to do  
        //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
        this.startActivity(new Intent(YourActivity.this,NewActivity.class));  
    
        return;  
    }  
    

    您可以检查为什么要执行“硬件后退”按钮的具体操作?这是有原因的,用户很可能会发现它更直观。该应用程序将在低成本平板电脑上运行。它们中的一些没有容易访问的后退键(它们看起来像iPad,所以前面只有一个按钮)。你可以检查一下,为什么你想完全按照硬件后退按钮的功能来做?这是有原因的,用户很可能会发现它更直观。该应用程序将在低成本平板电脑上运行。有些手机的后键不易取用(它们看起来像iPad,所以前面只有一个按钮)。