![](/img/trans.png)
[英]EditText.requestFocus() doesn't work with onKeyListener
[英]EditText doesn't show input keyboard on requestfocus
我面临一个奇怪的问题。 当我使用以下代码添加edittext时:
edit = new EditText(context);
edit.setInputType(InputType.TYPE_CLASS_TEXT);
edit.layout(0, 0, (int)searchPane[W], (int)searchPane[H]);
edit.setBackgroundColor(Color.TRANSPARENT);
edit.setGravity(Gravity.CENTER_VERTICAL);
edit.addTextChangedListener(SearchBox.this);
edit.setFocusable(true);
edit.setFocusableInTouchMode(true);
并在View
的onDraw
方法中使用edit.draw(Canvas)
进行绘制。 我打电话edit.requestFocus()
在onTouchMethod
虽然它不显示在重点要求输入键盘。 有什么想法可以使edittext接受文本并显示输入键盘吗?
提前致谢。
您的EditText不属于视图层次结构,因为您从未将其作为子级添加到视图组中。 因此,除非您在视图组中实现了触摸事件,否则它将不会接收触摸事件。
添加对addView(edit)
的调用, addView(edit)
edit.layout(0, 0, (int)searchPane[W], (int)searchPane[H])
移至onLayout
。
它可能不会那么简单,创建自定义视图是一项高级任务-您确定要使用现有视图布局中的一种(或组合)无法完成您要尝试做的事情吗?
如果没有,您应该阅读http://developer.android.com/training/custom-views/index.html
对我有用的唯一组合:
edit.requestFocus()
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(edit, InputMethodManager.SHOW_FORCED);
与向活动添加输入模式配对
<activity android:name="..."
android:windowSoftInputMode="adjustResize" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.