我最近制作了我的第一个Android应用程序,它有一个Edittext
区域,计划只允许用户输入拼写正确的单词。基本上我已经学会了如何使用Android:inputType
之类的布局属性来检测任何拼写错误的单词。任何拼写错误的单词都应标有红色下划线。但我找不到阻止用户输入拼写错误的单词的方法。
理想情况是:如果用户输入任何拼写错误的单词并单击提交按钮,则会出现提示消息(例如Toast消息),以通知用户修改拼写错误的单词,然后才能真正提交。
答案 0 :(得分:2)
按照此链接中的步骤创建拼写检查器。 http://www.tutorialspoint.com/android/android_spelling_checker.htm
然后修改上面的示例代码以满足您的要求: 例如。当(arg0.length == 0),这意味着没有建议(没有拼写错误),您可以从这里创建验证。 但是,它可能是一个不是用英语写的词。所以你需要语言检测:
https://code.google.com/p/language-detection/ (来自:How to detect language of user entered text?)
答案 1 :(得分:0)
要实现这一点,你需要做的是实现spellchecksession监听器。 也许你可以使用拼写检查监听器和文本观察器。
答案 2 :(得分:0)
您可以使用此方法验证单词(拼写检查)。
public boolean CheckForWord(String Word){
try {
BufferedReader in = new BufferedReader(new FileReader("/usr/share/dict/american-english"));
String str;
while ((str = in.readLine()) != null) {
if ( str.indexOf( Word) != -1 ) {
return true;
}
}
in.close();
}
catch (IOException e) {
}
return false;
}
在SUBMIT按钮上单击
btnSUBMIT.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String EdittextValue = edittext.getText().toString();
if(CheckForWord(EdittextValue)){
Toast.makeText(getActivity(),
"Correct Word " + EdittextValue ,
Toast.LENGTH_LONG).show();
// Do something here.
}
else{
Toast.makeText(getActivity(),
"Wrong Word " + EdittextValue ,
Toast.LENGTH_LONG).show();
}
}
});