gpt4 book ai didi

java - StackOverFlowError SpannableString 是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 15:08:09 26 4
gpt4 key购买 nike

我知道这类错误存在一些问题,但我的错误只是随机发生,我还没有找到导致它的原因。这是错误日志:

11-02 16:41:58.448: E/AndroidRuntime(13702): FATAL EXCEPTION: main
11-02 16:41:58.448: E/AndroidRuntime(13702): java.lang.StackOverflowError
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.text.SpannableString.getSpans(SpannableString.java:25)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.text.TextUtils.writeToParcel(TextUtils.java:615)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.widget.TextView$SavedState.writeToParcel(TextView.java:8781)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeParcelable(Parcel.java:1254)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1173)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeSparseArray(Parcel.java:662)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1198)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.

我的应用只有 1 个 Activity 和 2 个 TextView、2 个 Button 和 1 个 EditText

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
onSaveInstanceState(newBundy);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
onSaveInstanceState(newBundy);
}
}

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBundle("newBundy", newBundy);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
savedInstanceState.getBundle("newBundy");
}

我评论了上面的行,现在没有崩溃,为什么这段代码会导致崩溃?

最佳答案

您真的不需要在 onConfigurationChanged 中保存实例,因为在这种情况下您的 Activity 不会被销毁并重新创建。如果您将 bundle 保存在 onSaveInstanceState 中就足够了。

可以删除onConfigurationChanged中的代码。

关于java - StackOverFlowError SpannableString 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19746731/

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