Java 如何处理Android键盘(IME)中的配置更改?
我已经按照提供的文档设计了新的(相对简单的)键盘。在这一点上,我被配置更改(如主题、文本大小或有点复杂的东西)所困扰,这需要IME重新创建自己Java 如何处理Android键盘(IME)中的配置更改?,java,android,keyboard,preferences,ime,Java,Android,Keyboard,Preferences,Ime,我已经按照提供的文档设计了新的(相对简单的)键盘。在这一点上,我被配置更改(如主题、文本大小或有点复杂的东西)所困扰,这需要IME重新创建自己 public class ImePreferences extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override protected void onCreate(Bundle savedInst
public class ImePreferences extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_WithActionBar);
super.onCreate(savedInstanceState);
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
// reload ime
Log.d("anbani", "Stopping service " + String.valueOf(stopService(new Intent(this, SoftKeyboard.class))));
Log.d("anbani", "prefs changed");
}
...
}
这没有帮助。StopService值返回true,但没有效果
是否有一些技巧可以在不事先参考的情况下获得package keyboard的实例?或者我错过了一些简单的东西
任何提示都将不胜感激 解决方案:
@Override public View onCreateInputView() {
// load preferences
return mInputView;
}
@Override public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
setInputView(onCreateInputView());
...
}
解决方案:
@Override public View onCreateInputView() {
// load preferences
return mInputView;
}
@Override public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
setInputView(onCreateInputView());
...
}