Android平台提供了一个拼写检查框架,可让您在应用程序中实现和访问拼写检查。
为了使用拼写检查器,您需要实现SpellCheckerSessionListener接口并覆盖其方法。其语法如下:
publicclassHelloSpellCheckerActivityextendsActivityimplementsSpellCheckerSessionListener{@OverridepublicvoidonGetSuggestions(finalSuggestionsInfo[]arg0){// TODO Auto-generated method stub}@OverridepublicvoidonGetSentenceSuggestions(SentenceSuggestionsInfo[]arg0){// TODO Auto-generated method stub}}
接下来你需要做的是创建一个SpellCheckerSession类的对象。可以通过调用TextServicesManager类的newSpellCheckerSession方法来实例化该对象。此类处理应用程序和文本服务之间的交互。您需要请求系统服务实例化。其语法如下:
private SpellCheckerSession mScs;
final TextServicesManager tsm = (TextServicesManager) getSystemService(
Context.TEXT_SERVICES_MANAGER_SERVICE);
mScs = tsm.newSpellCheckerSession(null, null, this, true);
你需要做的最后一件事就是调用getSuggestions方法来获取你想要的任何文本的建议。这些建议将被传递到onGetSuggestions方法,您可以从中进行任何所需。
mScs.getSuggestions(newTextInfo(editText1.getText().toString()),3);
该方法有两个参数。第一个参数是Text Info对象形式的字符string,第二个参数是用于区分建议的cookie号。
除了这些方法之外,还有其他方法由SpellCheckerSession类提供,以便更好地处理建议。这些方法如下:
没有
方法和描述
1
取消()
取消挂起并运行拼写检查任务
2
关()
完成此会话并允许TextServicesManagerService断开绑定的拼写检查器
3
getSentenceSuggestions(TextInfo [] textInfos,int suggestLimit)
从指定的句子获取建议
4
getSpellChecker()
获取拼写检查器会话的拼写检查服务信息。
5
isSessionDisconnected()
如果与此会话的文本服务的连接断开连接并且不存在,则为True。
例
以下是使用拼写检查器的示例。它创建一个基本的拼写检查应用程序,允许您编写文本并获取建议。
要实验这个例子,你可以在一个实际的设备或一个模拟器中运行这个例子。
脚步
描述
1
您将使用Android Studio在一个包com.example.sairamkrishna.myapplication下创建一个Android应用程序。
2
修改src / MainActivity.java文件以添加必要的代码。
3
修改res / layout / main以添加相应的XML组件
4
运行应用程序并选择一个正在运行的Android设备并在其上安装应用程序并验证结果
以下是修改后的主要活动文件src / MainActivity.java的内容。
packagecom.example.sairamkrishna.myapplication;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.View;importandroid.view.textservice.TextInfo;importandroid.view.textservice.TextServicesManager;importandroid.widget.Button;importandroid.widget.EditText;importandroid.view.textservice.SentenceSuggestionsInfo;importandroid.view.textservice.SpellCheckerSession;importandroid.view.textservice.SpellCheckerSession.SpellCheckerSessionListener;importandroid.view.textservice.SuggestionsInfo;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivityimplementsSpellCheckerSessionListener{Buttonb1;TextViewtv1;EditTexted1;privateSpellCheckerSessionmScs;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);b1=(Button)findViewById(R.id.button);tv1=(TextView)findViewById(R.id.textView3);ed1=(EditText)findViewById(R.id.editText);b1.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Toast.makeText(getApplicationContext(),ed1.getText().toString(),Toast.LENGTH_SHORT).show();mScs.getSuggestions(newTextInfo(ed1.getText().toString()),3);}});}publicvoidonResume(){super.onResume();finalTextServicesManagertsm=(TextServicesManager)getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);mScs=tsm.newSpellCheckerSession(null,null,this,true);}publicvoidonPause(){super.onPause();if(mScs!=null){mScs.close();}}publicvoidonGetSuggestions(finalSuggestionsInfo[]arg0){finalStringBuildersb=newStringBuilder();for(inti=0;i
");for(intj=0;j
以下是xmlres / layout / main.xml的修改内容。
在以下代码中,abc表示vue5.com的标志
以下是res / values / string.xml的内容。
My Application
以下是AndroidManifest.xml文件的内容。
我们尝试运行我们刚刚修改的我们的应用程序。我假设你在做环境设置时创建了AVD。要从Android studio运行应用程序,请打开一个项目的活动文件,然后
从工具栏中单击运行图标。Android工作室在您的AVD上安装应用程序并启动它,如果您的设置和应用程序一切正常,它将显示以下仿真器窗口 -
现在你需要做的是输入任何字段中的文本。例如,我已经输入了一些文本。按建议按钮。AVD中会显示以下通知以及建议 -
现在更改文本,再次按下按钮,就像我一样。这就是屏幕上的内容。