baifaxiaoyao 2012-10-17 02:41 采纳率: 100%
浏览 11639
已结题

Android:当焦点在EditText上时自动显示软件键盘

我用AlertDialog显示了一个输入框。当我调用AlertDialog.show()时,对话框里的EditText自动获得焦点,但是软件键盘不会自动显示。
当对话框显示的时候我怎么做能够让软件键盘自动显示?(没有物理/硬件键盘)。和当我按下搜索按钮时调用全局搜索相似,软件键盘是自动显示的。

  • 写回答

3条回答

  • liangchichexin 2012-10-17 02:58
    关注

    你可以在 AlertDialog的EditTex中创建一个焦点监听,然后获得AlertDialog的窗口。这样你就可以通过调用setSoftInputMode来显示软件键盘。

    final AlertDialog dialog= ...;
    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
       @Override
       public void onFocusChange(View v, boolean hasFocus) {
           if (hasFocus) {
                dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
           }
       }
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统
  • ¥15 快手联盟怎么快速的跑出建立模型