我一直在尝试创建一个打开了单词建议的文本编辑器。这就是我一直希望能够让它发挥作用,但到目前为止还没有任何运气
EditText test = (EditText) new EditText(Page.this);
test.setRawInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);
test.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
test.setRawInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1);
params.setMargins(5, 0, 5, 0);
test.setLayoutParams(params);
test.setText(text);
test.setId(id);
holder.addView(test);
持有人是容器。 Edittext已从该数据库加载了文本,但我认为这并不重要。一切都正常。 EditText加载和数据库的东西很好,这就是为什么我没有发布该部分。我唯一的问题是自动更正或任何形式的自动完成不起作用。我有一些从xml加载的EditText,它们似乎工作正常。我无法从xml加载这些,因为根据输入,用户提供额外的EditText是生成所以我必须以编程方式执行。有什么建议可以解决这个问题。
是的,我查看了文档,我似乎也没有在那里找到答案,因为我添加的标志没有完成这项工作。
意图 以编程方式添加已启用自动完成功能的Edittext
问题: 生成了Edittext但未显示任何文本支持辅助工具作为自动完成或正确
先谢谢StackOverFlow国家
答案 0 :(得分:3)
您正在调用setRawInputType()
三次覆盖前两个调用,而是调用setRawInputType()
一次并使用|
传递所有三个标记:
test.setRawInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT |
InputType.TYPE_TEXT_FLAG_MULTI_LINE |
InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
答案 1 :(得分:0)
如果您想要一个具有自动完成功能的可编辑文本视图,您可能只想直接使用AutoCompleteTextView并节省一些实施问题。
答案 2 :(得分:0)
好吧,我发现需要做什么,最好的办法就是使用一种叫做布局充气机的东西。
这是因为在xml中完成后,为Edittext设置了很多东西。 为您的xml文件创建此(下面)。请注意,您只能有一个Root元素。因此,每个模板都需要一个新文件。
注意我也有一个id
使用此(下方)以编程方式插入
EditText Stest = (EditText) getLayoutInflater().inflate(R.layout.section_header, null);
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textAutoCorrect|textCapWords"
android:id="@+id/section" >
</EditText>
这样它会插入并拥有所有默认值以及你创建的任何附加内容。 实际上,由于大多数人使用XML,因此缺乏对代码库的支持。
这样你仍然可以使用动态插入代码但是使用xml来定义插入对象/视图的行为方式
答案 3 :(得分:0)
为我添加InputType.TYPE_CLASS_TEXT