作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常简单的 InputMethodService,我所做的就是记录生命周期的不同阶段。我的 onCreateInputView
从未被调用,并且日志显示奇怪的事情。
MyInput D onCreate
D onInitializeInterface
D onBindInput
D onStartInput
D onUnbindInput
D onBindInput
D onStartInput
D onUnbindInput
D onBindInput
D onStartInput
D onShowInputRequested
我只在 onShowInputRequested
被调用时点击了文本输入。当在屏幕之间导航时,它会在 onBind
、onStartInput
、onUnbind
之间循环。我错过了什么吗?
public class MyInput extends InputMethodService {
private static final String TAG = "MyInput";
private InputMethodManager mInputMethodManager;
@Override
public void onCreate() {
super.onCreate();
mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
Log.d(TAG, "onCreate");
}
@Override
public void onInitializeInterface() {
super.onInitializeInterface();
Log.d(TAG, "onInitializeInterface");
}
@Override
public View onCreateInputView() {
Log.d(TAG, "onCreateInputView");
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return inflater.inflate(R.layout.my_keyboard, null);
}
@Override
public void onFinishInput() {
super.onFinishInput();
Log.d(TAG, "onFinishInput");
}
@Override
public void onStartInput(EditorInfo attribute, boolean restarting) {
super.onStartInput(attribute, restarting);
Log.d(TAG, "onStartInput");
}
@Override
public void onFinishInputView(boolean finishingInput) {
super.onFinishInputView(finishingInput);
Log.d(TAG, "onFinishInputView");
}
@Override
public boolean onShowInputRequested(int flags, boolean configChange) {
Log.d(TAG, "onShowInputRequested");
return super.onShowInputRequested(flags, configChange);
}
@Override
public void onBindInput() {
super.onBindInput();
Log.d(TAG, "onBindInput");
}
@Override
public void onUnbindInput() {
super.onUnbindInput();
Log.d(TAG, "onUnbindInput");
}
@Override
public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
Log.d(TAG, "onStartInputView restarting = " + restarting);
}
@Override
public void onCurrentInputMethodSubtypeChanged(InputMethodSubtype subtype) {
Log.d(TAG, "onCurrentInputMethodSubtypeChanged");
}
}
最佳答案
我已经删除了所有重写的方法,只留下了 onCreateInputView
并且现在调用了它,不知道是什么不起作用,特别是因为我到处都在调用父类(super class)方法...
关于android - InputMethodService onCreateInputView 从未调用过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19957973/
我必须记忆起 onCreateInputView,因为我有两个键盘皮肤,如果某个值在首选项上,我想设置它。现在我只能得到这个重启应用程序进程,因为我在 onCreateInputView() 的开始有
我有一个非常简单的 InputMethodService,我所做的就是记录生命周期的不同阶段。我的 onCreateInputView 从未被调用,并且日志显示奇怪的事情。 MyInput
我是一名优秀的程序员,十分优秀!