首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >拼写检查器框架不返回建议

拼写检查器框架不返回建议
EN

Stack Overflow用户
提问于 2019-02-09 07:33:58
回答 1查看 460关注 0票数 0

我正在尝试在android studio中实现editext的拼写检查。该框架应验证用户键入的最后一个单词。问题是拼写检查器框架没有返回建议,也没有显示任何错误。

下面是我得到的输出示例:,,(2)

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MainActivity extends AppCompatActivity implements 
SpellCheckerSession.SpellCheckerSessionListener {

EditText editText;
SpellCheckerSession mScs;
TextView tv1;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    editText = (EditText) findViewById(R.id.user_message);
    tv1=findViewById(R.id.textView);
    editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (!(editText.getText().toString().equalsIgnoreCase(""))) {
                String[] text = editText.getText().toString().split(" ");
                if (mScs != null) {
                    mScs.getSuggestions(new TextInfo(text[text.length-1]), 3); //last word
                } else {
                    // Show the message to user
                    Toast.makeText(getApplicationContext(), "Please turn on the spell checker from setting", Toast.LENGTH_LONG).show();
                    ComponentName componentToLaunch = new ComponentName("com.android.settings",
                            "com.android.settings.Settings$SpellCheckersSettingsActivity");
                    Intent intent = new Intent();
                    intent.addCategory(Intent.CATEGORY_LAUNCHER);
                    intent.setComponent(componentToLaunch);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    try {
                        getApplicationContext().startActivity(intent);
                    } catch (ActivityNotFoundException e) {
                        // Error
                    }
                }

            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

}
public void onResume() {
    super.onResume();
    final TextServicesManager tsm = (TextServicesManager) getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
    mScs = tsm.newSpellCheckerSession(null, null, this, true);
}

public void onPause() {
    super.onPause();
    if (mScs != null) {
        mScs.close();
    }
}

public void onGetSuggestions(final SuggestionsInfo[] arg0) {
    final StringBuilder sb = new StringBuilder();
    Log.d("LENGTH", String.valueOf(arg0.length));

    for (int i = 0; i < arg0.length; ++i) {
        // Returned suggestions are contained in SuggestionsInfo
        final int len = arg0[i].getSuggestionsCount();
        sb.append('\n');

        for (int j = 0; j < len; ++j) {
            sb.append("," + arg0[i].getSuggestionAt(j));
            Log.d("suggestion", arg0[i].getSuggestionAt(j));
        }

        sb.append(" (" + len + ")");
    }
    runOnUiThread(new Runnable() {
        public void run() {
            tv1.append(sb.toString());
        }
    });
}

@Override
public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] arg0) {
    // TODO Auto-generated method stub
}

}

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 07:38:55

您是否在Mainfest.xml中实现了它并创建了spellchecker.xml来指定语言?

它在文档中如下所示:https://developer.android.com/guide/topics/text/spell-checker-framework

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54604203

复制
相关文章
VFP的过程或函数如何接收数组参数或返回一数组结果?
这里要注意二个方面,1、过程或函数中,必须定义一个全局数据 public ,2、RETURN 必须加@,这个小老鼠。也是地址引用返回值。
加菲猫的VFP
2021/08/12
3.3K0
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果
REST API返回结果对象设计
基于REST API的项目返回的数据结构题都是统一的,这样方便接口对接和使用。因此,对结果对象的设计会有一定的要求:
程序新视界
2021/12/07
1K0
vuex 监听数组或对象
store.js /* * @Author: Zheng Lei * @Email: baimoc@163.com * @Date: 2020-06-14 09:47:03 * @LastEditTime: 2021-08-12 17:20:02 * @FilePath: \EmAtlas\src\store.js */ import Vue from 'vue' import Vuex from "vuex" Vue.use(Vuex); export default new Vuex.S
白墨石
2021/08/18
4390
构造方法或new返回该对象
一个小技巧,调用构造方法或都new返回该对象: function Person(){ // ... // 不是new的时候this指向的是调用者 默认是window if (!(this instanceof Person)) { return new Person(); } } Person.prototype.sayHello = function (){ console.log("Hello World!"); } var lufei = Person(); lufe
kai666666
2020/10/17
7280
Fastjson 对象或数组转JSON
w3cshool:https://www.w3cschool.cn/fastjson/ Fastjson对象或数组转JSON :https://www.w3cschool.cn/fastjson/fastjson-ex1.html
全栈程序员站长
2022/09/10
2.2K0
Php如何返回json数据(返回json对象或json格式数据)
header(‘Content-Type:application/json; charset=utf-8’);
超级小可爱
2023/02/20
17K0
Authors数组或集合返回自动生成的主键
如果你的数据库还支持多行插入, 你也可以传入一个Authors数组或集合,并返回自动生成的主键。
用户8983410
2021/10/07
9960
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有"最大或的结果"的最短子数组,返回最短长度。
福大大架构师每日一题
2023/06/08
4360
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有"最大或的结果"的最短子数组,返回最短长度。
福大大架构师每日一题
2022/06/08
1K0
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。
福大大架构师每日一题
2021/08/05
4210
数组或对象中的内容间隔显示
总结:间隔显示,不要使用for 循环,原因是for循环是同步,setTimeout是异步,同步执行完再执行异步。
tianyawhl
2019/11/07
4.3K0
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
福大大架构师每日一题
2021/08/05
8700
mybatis返回结果处理
当查询的记录条数是多条的时候,必须使用集合接收。如果使用单个实体类接收会出现异常。如果返回的是一条记录可以用集合接收
一个风轻云淡
2023/10/15
2310
mybatis返回结果处理
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
如上,arr的修改,会影响arr2的值,这显然在绝大多数情况下,并不是我们所需要的结果。 因此,数组以及对象的深拷贝就是javascript的一个基本功了。
FungLeo
2022/05/05
3.1K0
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
MongoDB中如何返回数组对象中第一个对象
在使用MongoDB数据库时,为了减少关联操作,我们通常采用嵌套模型,数组对象是比较常见,例如商品的评论、关注好友等,通常返回前面N条或者第一条之类来减少网络流量(所有历史消息意义可能不大).另外就是单个有16M的限制,此时可能采用连接方式,将部分信息存储在另外一个集合中。最近刚好遇到一个find需求,针对结果集的数组只返回第一条元素。我们知道MongoDB针对数组操作符非常丰富。接下来主要介绍,elemMatch,
徐靖
2022/09/22
12.7K0
php json_encode()函数返回对象和数组问题
php json_encode() 函数格式化数据时会根据不同的数组类型格式化不同类型的json数据
码缘
2019/09/11
3.7K0
mybatis返回结果类型(resulttype返回list)
这样设置返回类型为resultClass=”java.util.HashMap”,查询时执行queryForList
全栈程序员站长
2022/08/01
5.7K0
或对,或错?
公号许久没更文了,这段时间以来,自己在面临着一些抉择。未曾想过,毕业后一个月考虑的事情比大学四年加起来的还要多。也许是大学过得太安逸了,欠的债全部攒到毕业后来还。
Python技术与生活认知的分享
2018/09/30
4680
或对,或错?
SpringBoot统一返回结果
在后台开发时,控制台得到的数据格式会有不同,这时我们需要设置统一返回结果,方便我们分析数据以及对数据进行管理。
算法与编程之美
2022/05/23
9340
SpringBoot统一返回结果

相似问题

Powershell在pscustomobject中展开结果数组

10

Powershell数组或对象

30

如何在powershell数组中展开对象值

12

PowerShell -展开组-对象

135

从C#发送Powershell并从结果返回数组对象?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文