我最近正在制作我的第一个 Android 应用程序,它有一个Edittext
区域计划只允许用户输入正确拼写的单词。基本上我已经学会了如何使用布局属性Android:inputType
来检测任何拼写错误的单词。任何拼写错误的单词都应标有红色下划线。但是我找不到阻止用户输入拼写错误的单词的方法。
理想的情况是:如果用户输入了任何拼写错误的单词并单击提交按钮,则会出现提示消息(例如 Toast 消息),通知用户在真正提交之前修改拼写错误的单词。
我最近正在制作我的第一个 Android 应用程序,它有一个Edittext
区域计划只允许用户输入正确拼写的单词。基本上我已经学会了如何使用布局属性Android:inputType
来检测任何拼写错误的单词。任何拼写错误的单词都应标有红色下划线。但是我找不到阻止用户输入拼写错误的单词的方法。
理想的情况是:如果用户输入了任何拼写错误的单词并单击提交按钮,则会出现提示消息(例如 Toast 消息),通知用户在真正提交之前修改拼写错误的单词。
按照此链接中的步骤创建拼写检查器。 http://www.tutorialspoint.com/android/android_spelling_checker.htm
然后修改上面的示例代码以满足您的要求: Eg When (arg0.length == 0),这意味着没有建议(没有拼写错误),您可以从这里创建验证。但是,它可能是一个不是用英语写成的词。所以你需要一个语言检测:
https://code.google.com/p/language-detection/ (来自:如何检测用户输入文本的语言?)
您可以使用此方法来验证单词(拼写检查)。
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;
}
并在提交按钮上单击
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();
}
}
});
你必须做的是实现拼写检查会话监听器。也许您可以将拼写检查侦听器与文本观察器一起使用。