Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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
Java 为什么赢了';t显示软输入显示虚拟键盘?_Java_Android_Virtual Keyboard - Fatal编程技术网

Java 为什么赢了';t显示软输入显示虚拟键盘?

Java 为什么赢了';t显示软输入显示虚拟键盘?,java,android,virtual-keyboard,Java,Android,Virtual Keyboard,基本上,我试图显示虚拟键盘并收集输入,而不使用可见的EditText或TextView。我意识到可以使用toggleSoftInput来实现这一点,但是我需要使用showsoftwitteInput,因为我想使用TextWatcher来操作输入。此外,我正在使用的引擎是C++,所以我尽量尽可能少做java代码,所以我避免了.xml文件。所以这里是 public class GameActivity extends Activity { protected GameView view =

基本上,我试图显示虚拟键盘并收集输入,而不使用可见的
EditText
TextView
。我意识到可以使用
toggleSoftInput
来实现这一点,但是我需要使用
showsoftwitteInput
,因为我想使用
TextWatcher
来操作输入。此外,我正在使用的引擎是C++,所以我尽量尽可能少做java代码,所以我避免了.xml文件。所以这里是

public class GameActivity extends Activity {

    protected GameView view = null;
    protected EditText editText;

    protected void onCreate(Bundle bundle)
    {
        super.onCreate(bundle);

        view = new GameView(this);
        setContentView(view);

        editText = new EditText(this);
        editText.setCursorVisible(false);
        editText.setFocusable(true);
        editText.setFocusableInTouchMode(true);
    }

    public boolean showKeyboard()
    {
        JniApp.log("showKeyboard() in Java invoked!!!");

        editText.requestFocus();
        editText.requestFocusFromTouch();

        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
    }
<> >代码> SkyKeBooRead()/Cuff>是我的C++调用java。我已检查以确保
editText
正在接收焦点,并且它是。但是,
showsoftwinput
返回false。任何帮助都将不胜感激


更新:经过一些调试后,
requestFocus
似乎返回true,但活动仍然说
view
是当前焦点。

可以尝试使用.SHOW\u IMPLICIT而不是.SHOW\u FORCED

您是否在其他仿真器/设备(可能还有其他Android版本)上试用过它