AutoCompleteTextView上的Android材质微调器NullPointerException
旋转屏幕时获取android spinner NullPointerExceptionAutoCompleteTextView上的Android材质微调器NullPointerException,android,exception,material-design,android-spinner,Android,Exception,Material Design,Android Spinner,旋转屏幕时获取android spinner NullPointerException <com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/departmen
<com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/department_spinner"
android:hint="@string/select_department"
android:gravity="center"
android:drawableEnd="@drawable/spinner_icon"
android:textColorHighlight="@color/colorButton"
android:textColor="@color/colorButton"
android:theme="@style/AppTheme"
app:met_floatingLabel="highlight"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginTop="5dp"/>
嗨!伙计们,我在旋转屏幕时遇到了一个spiner抛出空点表达式的问题
<com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/department_spinner"
android:hint="@string/select_department"
android:gravity="center"
android:drawableEnd="@drawable/spinner_icon"
android:textColorHighlight="@color/colorButton"
android:textColor="@color/colorButton"
android:theme="@style/AppTheme"
app:met_floatingLabel="highlight"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginTop="5dp"/>
在我的onCreateView中
以下是日志:
E/AndroidRuntime:致命异常:主
流程:com.example.ritecare,PID:15345
java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.Filter.filterjava.lang.CharSequence,
空对象引用上的android.widget.Filter$FilterListener
在android.widget.AutoCompleteTextView.PerformFilteringOutCompleteTextView.java:1026
在com.weiwangcn.betterspinner.library.MaterialBetterSpinner.onFocusChangedMaterialBetterSpinner.java:49
在android.view.view.handleFocusGainInternalView.java:7478
在android.view.view.requestFocusNoSearchView.java:12441
在android.view.view.requestFocusView.java:12415
在android.view.view.requestFocusView.java:12382
在android.view.view.requestFocusView.java:12324
在com.android.internal.policy.PhoneWindow.restoreHierarchyStatePhoneWindow.java:2166
位于android.app.Activity.onRestoreInstanceStateActivity.java:1563
在android.app.Activity.performRestoreInstanceStateActivity.java:1518
在android.app.Instrumentation.callActivityOnRestoreInstanceStateInstrumentation.java:1346
位于android.app.ActivityThread.handleStartActivityActivityThread.java:3310
在android.app.servertransaction.TransactionExecutor.performLifecycleSequenceTransactionExecutor.java:221
在android.app.servertransaction.TransactionExecutor.cycleToPathTransactionExecutor.java:201
在android.app.servertransaction.TransactionExecutor.ExecuteLifeCyclestTransactionExecutor.java:173
在android.app.servertransaction.TransactionExecutor.executeTransactionExecutor.java:97
在android.app.ActivityThread$H.handleMessageActivityThread.java:2016
位于android.os.Handler.dispatchMessageHandler.java:107
在android.os.Looper.Looper.java:214
在android.app.ActivityThread.mainActivityThread.java:7356
在java.lang.reflect.Method.Invokenactive方法中
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.RuntimeInit.java:492
位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:930
尝试在MaterialBitterSpinner初始化期间添加以下内容: 内部回应: 我找到了一个更好的材质微调器库 我们应该使用ganfra/MaterialSpinner库 它简单且更健壮 以下是链接:
Asif:检查BetterSpinner库的github问题。检查这一个:还有一个不可避免的丑陋解决方案:它阻止我从列表中选择数据,应用程序仍然会崩溃,出现相同的异常。这不应该发生,我已经检查过了。你做得对吗?发布您的最新代码请arrayadapter departmentAdapter=new ArrayAdapterOpdIpdAnalysis.this,android.R.layout.simple\u dropdown\u item\u 1line,new arraraylist;materialDesignSpinner.setAdapterdepartmentAdapter;,那应该在你的回应之外。将其添加到此行之前:callDepartment=service.getAllopDipdePartments;它在旋转时冻结,阻止我从列表中选择数据Android:configChanges=keyboardHidden |方向|屏幕大小问题解决
ArrayAdapter<String> departmentAdapter = new ArrayAdapter<>(OpdIpdAnalysis.this, android.R.layout.simple_dropdown_item_1line, new ArrayList<String>());
materialDesignSpinner.setAdapter(departmentAdapter);
ArrayAdapter<String> adapter = (ArrayAdapter<String>) materialDesignSpinner.getAdapter();
adapter.clear()
adapter.addAll(spinnerLists)
adapter.notifyDataSetChanged()