2016-01-12 3 views
1

Мне нужно, чтобы проверка орфографии была отключена с помощью кода Android. Как мне это сделать? Если он не может быть отключен кодом, есть ли способ отобразить параметры проверки орфографии пользователю, чтобы пользователь мог отключить его вручную? благодаряКак отключить проверку орфографии с помощью кода на Android?

+0

Это для EditText? –

+1

Вы хотите fings speelt inkerectley? –

+0

Я вижу, что вы там делали: P –

ответ

3

Добавьте эту строку в ваш EditText:

android:inputType="textFilter"

И если ваш EditText принимает несколько строк, то сделать это:

android:inputType="textFilter|textMultiLine"

Update:

Это я невозможно отключить/включить до сих пор через код. Но вы можете сделать одно, вы можете попросить пользователя отключить его, и если пользователь выберет «да», откройте «Экран настроек языка» по следующему коду:

Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.setClassName("com.android.settings", "com.android.settings.LanguageSettings"); 
     startActivity(intent); 
+0

Нет, это не для текста редактирования, я хочу, чтобы это было системным, спасибо –

+0

@HannaF Обновлен ответ. Обновленный ответ - это возможность. –

+0

Это только открывает языковые настройки .. не проверка орфографии? вам нужно: com.android.settings.Settings $ SpellCheckersSettingsActivity –

0

Если это для EditText (я думаю, что это то, что вы хотите) здесь трюк:

android:inputType="textVisiblePassword" 

Вы также можете или более типов в, упаковывают вы хотели, как «textCapSentences», а также или "textMultiLine"

eg android: inputType = "textVisiblePassword textMultiLine"

EDIT: Вы просили сделать это, чтобы пользователь мог изменить это. Хорошо добавьте какие-то настройки или кнопку, которая позволяет/отключает автоматическую настройку. Затем установите флаг в true/false на основе флага, сохраненного в SharedPreferences. Затем вы извлекаете значение в любое время, когда вы создаете действие, содержащее EditText.

т.е. Когда пользователь включает Автоисправить (некоторые кнопки или переключателя)

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
prefs.edit().putBoolean("autoCorrect", true).apply(); 

Если вы хотите, чтобы проверить, если прив включено:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
boolean autoCorrectEnabled = prefs.getBoolean("autoCorrect", false); 

//change the settings of EditTexts to turn off auto correct/spell checker 
if(!autoCorrectEnabled){ 
    input.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 

//enable spell checker 
}else{ 
    input.setInputType(TYPE_CLASS_TEXT); 
} 

Вы в основном локально хранить настройки пользователя для разрешения для автоматического исправления и изменения типов ввода ваших EditTexts соответственно на основе сохраненного значения. Если он включен, пользовательский ввод не заставит клавиатуру включать автоматическую проверку правильности/проверки орфографии.

+0

Нет, это не для редактирования текста, я хочу, чтобы это было системным, спасибо –

+0

отредактируйте для изменения с ответом –

+0

Спасибо за ваше обновление, хотя это ограничивается моим приложением, я хочу, чтобы пользователь полностью отключил проверку орфографии на телефоне. Если это невозможно сделать из кода, есть ли способ показать активность (нужно будет выяснить его путь), а затем пользователь может вручную отключить проверку орфографии –