我的屏幕上有一个切换按钮.如果单击此按钮,则需要键盘才能显示在屏幕上.这是我现在拥有的代码,但是没有按预期显示键盘:(
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-以编程方式显示软键盘-无法正常工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)