友
我开发了一款游戏。 所有的绘图都是由我的sSurfaceViewClass处理的,它是一个扩展SurfaceView的Activity。 我覆盖了一些自定义ui组件,主要是按钮和textview。除了EditText的叠加外,一切正常。 我无法以编程方式请求EditText的焦点。 我希望在创建激活时关注EditText。是什么意思弹出键盘,光标在EditText中,等待输入。 这是我的代码的一部分:
addContentView(surfaceViewClass, layoutParamsCompleteLayout);
editTextKeyboard = new EditText(this);
editTextKeyboard.requestFocus();
editTextKeyboard.setAlpha(0);
editTextKeyboard.setSingleLine();
editTextKeyboard.setImeOptions(EditorInfo.IME_FLAG_NO_FULLSCREEN);
editTextKeyboard.setFocusableInTouchMode(true);
addContentView(editTextKeyboard, layoutParamsCompleteLayout);
使用requestFocus()方法通常可以正常工作。但在这种情况下(surfaceView plus overlay)它没有。
我很高兴得到任何支持。另外一个解决方法对我有很大的帮助!
THX
答案 0 :(得分:1)
在将其添加到曲面视图后尝试使用requestFocus()
。
在将其添加到父版面之前,您正在执行此操作。