繁体   English   中英

EditText在requestfocus上不显示输入键盘

[英]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);

并在ViewonDraw方法中使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM