android-以编程方式显示软键盘-无法正常工作

android-以编程方式显示软键盘-无法正常工作,第1张

概述我的屏幕上有一个切换按钮.如果单击此按钮,则需要键盘才能显示在屏幕上.这是我现在拥有的代码,但是没有按预期显示键盘:(publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);keybo

我的屏幕上有一个切换按钮.如果单击此按钮,则需要键盘才能显示在屏幕上.这是我现在拥有的代码,但是没有按预期显示键盘:(

public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);        keyboard = (Togglebutton) findVIEwByID(R.ID.keyboard);        keyboard.setonClickListener(displayKeyboard);} OnClickListener displayKeyboard = new OnClickListener(){        @OverrIDe        public voID onClick(VIEw v) {            if(clIEnt == null)                   return;            boolean on = ((Togglebutton) v).isChecked();            if(on){ // show keyboard                System.out.println("Togglebutton is ON");                keyboard.requestFocus();                inputMethodManager mgr = (inputMethodManager) getSystemService(Context.input_METHOD_SERVICE);                mgr.showSoftinput(keyboard, inputMethodManager.SHOW_IMPliCIT);            }            else{ // hIDe keyboard                System.out.println("Togglebutton is OFF");                inputMethodManager mgr = (inputMethodManager) getSystemService(Context.input_METHOD_SERVICE);                mgr.hIDeSoftinputFromWindow(keyboard.getwindowToken(), 0);          }        }    };

当我单击键盘切换按钮时,我在LogCat中看到它进入了if / else块,但否则在屏幕上不显示任何键盘.有人可以帮忙吗?

解决方法:

使用showSoftinput时,您试图使键盘按钮聚焦并开始向其发送键盘事件,但是它不能聚焦.使它像这样(在您的onCreate中)可聚焦:

keyboard.setFocusable(true);keyboard.setFocusableIntouchMode(true);
总结

以上是内存溢出为你收集整理的android-以编程方式显示软键盘-无法正常工作全部内容,希望文章能够帮你解决android-以编程方式显示软键盘-无法正常工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1211163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存