gpt4 book ai didi

android - onEditorAction : "unmatched pair of setHasTransientState calls" 的奇怪错误

转载 作者:行者123 更新时间:2023-12-05 00:07:21 27 4
gpt4 key购买 nike

我的 fragment 中有一个 EditText,当我执行输入或任何类似输入的操作时,我想做一些事情。但是我在 KeyEventactionIdonEditorAction id 上遇到了一些问题,所以我关注了这个站点中的另一个线程,它对我有很大帮助要做的事情:

inputSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView exampleView, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
//do something
}
return true;
}
});

但是当我在所有这些条件下执行此操作时,我的应用程序崩溃并在 logcat 中输出:

05-05 15:56:05.195: E/View(26569): hasTransientState decremented below 0: unmatched pair of setHasTransientState calls
05-05 15:56:05.195: W/dalvikvm(26569): threadid=1: thread exiting with uncaught exception (group=0x417fde48)
05-05 15:56:05.195: E/AndroidRuntime(26569): FATAL EXCEPTION: main
05-05 15:56:05.195: E/AndroidRuntime(26569): Process: com.myapp PID: 26569
05-05 15:56:05.195: E/AndroidRuntime(26569): java.lang.NullPointerException
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.myapp.SomeFragment$3.onEditorAction(SomeFragment.java:148)
05-05 15:56:05.195: E/AndroidRuntime(26569): at android.widget.TextView.onEditorAction(TextView.java:4395)
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138)
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:297)
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
05-05 15:56:05.195: E/AndroidRuntime(26569): at android.os.Handler.dispatchMessage(Handler.java:102)
05-05 15:56:05.195: E/AndroidRuntime(26569): at android.os.Looper.loop(Looper.java:136)
05-05 15:56:05.195: E/AndroidRuntime(26569): at android.app.ActivityThread.main(ActivityThread.java:5105)
05-05 15:56:05.195: E/AndroidRuntime(26569): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 15:56:05.195: E/AndroidRuntime(26569): at java.lang.reflect.Method.invoke(Method.java:515)
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
05-05 15:56:05.195: E/AndroidRuntime(26569): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
05-05 15:56:05.195: E/AndroidRuntime(26569): at dalvik.system.NativeStart.main(Native Method)

当我仅保留 actionId == EditorInfo.IME_ACTION_DONE 条件时,应用程序不会崩溃,但不会执行任何操作,并且 logcat 仅输出此内容:

 05-05 15:56:05.195: E/View(26569): hasTransientState decremented below 0: unmatched pair of setHasTransientState calls

我在 Google 上进行了搜索,但没有找到对我来说这个非常奇怪的错误有说服力的东西。对于我和其他可能会面临同样问题的人,我希望在这方面得到一些帮助 :)

最佳答案

因为你的异常(exception)是:

hasTransientState decremented below 0: unmatched pair of setHasTransientState calls

在您的 TextView 中,使用方法

android:imeOptions

android:imeActionId

关于android - onEditorAction : "unmatched pair of setHasTransientState calls" 的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com