打开对话框时,应用程序在最小化时崩溃

时间:2016-10-07 08:19:16

标签: android

我正在使用可搜索的微调器(https://github.com/miteshpithadiya/SearchableSpinner),每当微调器对话框打开时,我点击主页按钮或任何内容以最小化我的应用程序,应用程序崩溃时出现以下错误代码:

FATAL EXCEPTION: main
                                                                       Process: com.package, PID: 21974
                                                                       java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.toptoche.searchablespinnerlibrary.SearchableSpinner)
                                                                           at android.os.Parcel.writeSerializable(Parcel.java:1468)
                                                                           at android.os.Parcel.writeValue(Parcel.java:1416)
                                                                           at android.os.Parcel.writeArrayMapInternal(Parcel.java:686)
                                                                           at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1330)
                                                                           at android.os.Bundle.writeToParcel(Bundle.java:1079)
                                                                           at android.os.Parcel.writeBundle(Parcel.java:711)

我的适配器:

//Initializing Spinner
        spinner = (Spinner) findViewById(R.id.name);
        ArrayAdapter<CharSequence> nameAdapter = ArrayAdapter.createFromResource(this,
                R.array.name, android.R.layout.simple_spinner_item);
        // Specify the layout to use when the list of choices appears
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // Apply the adapter to the spinner
        spinner.setAdapter(nameAdapter);

出了什么问题?有没有办法解决它&#34;外面&#34;包裹?

1 个答案:

答案 0 :(得分:0)

看起来这是库的问题,因为其他用户在Github上报告了同样的问题。您需要使用变通方法such as this来解除onPause()中的SearchableListDialog。

编辑:在SearchableListDialog.java中:

    @Override
    public void onPause() {
        dismiss();
        super.onPause();
    }