1

我最近正在制作我的第一个 Android 应用程序,它有一个Edittext区域计划只允许用户输入正确拼写的单词。基本上我已经学会了如何使用布局属性Android:inputType来检测任何拼写错误的单词。任何拼写错误的单词都应标有红色下划线。但是我找不到阻止用户输入拼写错误的单词的方法。

理想的情况是:如果用户输入了任何拼写错误的单词并单击提交按钮,则会出现提示消息(例如 Toast 消息),通知用户在真正提交之前修改拼写错误的单词。

4

3 回答 3

2

按照此链接中的步骤创建拼写检查器。 http://www.tutorialspoint.com/android/android_spelling_checker.htm

然后修改上面的示例代码以满足您的要求: Eg When (arg0.length == 0),这意味着没有建议(没有拼写错误),您可以从这里创建验证。但是,它可能是一个不是用英语写成的词。所以你需要一个语言检测:

https://code.google.com/p/language-detection/ (来自:如何检测用户输入文本的语言?

于 2014-10-03T05:09:57.170 回答
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;
}

并在提交按钮上单击

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();
           }
           }
        });
于 2014-10-03T04:51:44.443 回答
0

你必须做的是实现拼写检查会话监听器。也许您可以将拼写检查侦听器与文本观察器一起使用。

拼写检查监听器

于 2014-10-03T03:41:21.617 回答