我正在使用UserDictionary.Words类的addWord函数将Words添加到Dictionary中,以便它们可以显示在Text预测中.单词确实存在于字典中APP_ID=0,可用于默认的android键盘.但是我使用的是Swift键盘,并没有将这些词用于预测.
我正在使用这个教程
UserDictionary.Words.addWord(this, "ThisIsSomeWordIwantForPrediction", 250, null, Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)
我的问题是我如何添加单词,以便它们可用于所有键盘的预测
使用UserDictionary.Words和WRITE_USER_DICTIONARY权限,可以将单词添加到用户词典,但我没有看到任何删除单词的方法.
在这种情况下的动机是添加自动完成建议应用程序是本地的,并在退出应用程序时删除它们,但我也可以设想像应用程序一样自动删除意外添加的拼写错误.
有没有办法做到这一点?
android autocomplete android-softkeyboard android-userdictionary
我正在开发一个Android应用程序,其目的是在屏幕上显示列表,其中包含用户词典中的内容.
问题是,当我在Android API Level 23内部提供程序中编译并运行应用程序时,返回一个没有项目的Cursor,没有任何数据.
这很奇怪,因为API的前23(22,21,19,...)应用程序运行并正常显示ListView中的数据.
以下是我的活动代码:
import android.app.LoaderManager;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.provider.UserDictionary;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private ListView listView;
private SimpleCursorAdapter adapter;
private static final String[] COLUMNS = {
UserDictionary.Words.WORD,
UserDictionary.Words._ID,
UserDictionary.Words.LOCALE
};
private static final int[] LIST_ITEM_VIEWS = {
R.id.name,
R.id.id_word,
R.id.locale
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.item_list, null, COLUMNS, …Run Code Online (Sandbox Code Playgroud)