java.lang.IllegalStateException:ActionBarView只能与android:layout_width=”一起使用;匹配“家长”; 背景

java.lang.IllegalStateException:ActionBarView只能与android:layout_width=”一起使用;匹配“家长”; 背景,android,actionbarsherlock,Android,Actionbarsherlock,我之所以使用ActionBarSherlock,是因为我希望处理旧的Android版本,而且谷歌官方的旧Android设备库没有一些重要的类(比如PreferenceActivity或PreferenceFragment,这样它们就有一个actionBar) 问题 最近我遇到了一个奇怪的例外: java.lang.IllegalStateException:ActionBarView只能与一起使用 android:layout_width=“match_parent”(或fill_parent)

我之所以使用ActionBarSherlock,是因为我希望处理旧的Android版本,而且谷歌官方的旧Android设备库没有一些重要的类(比如PreferenceActivity或PreferenceFragment,这样它们就有一个actionBar)

问题 最近我遇到了一个奇怪的例外:

java.lang.IllegalStateException:ActionBarView只能与一起使用 android:layout_width=“match_parent”(或fill_parent)位于 com.actionbarsherlock.internal.widget.ActionBarView.onMeasure(源文件:772) 在android.view.view.measure(view.java:8322)的 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)位于 android.widget.FrameLayout.onMeasure(FrameLayout.java:250)位于 com.actionbarsherlock.internal.widget.ActionBarContainer.onMeasure(源文件:181) 在android.view.view.measure(view.java:8322)的 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)位于 widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) 位于android.widget.LinearLayout.measureVertical(LinearLayout.java:386) 在android.widget.LinearLayout.onMeasure(LinearLayout.java:309)的 android.view.view.measure(view.java:8322)位于 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)位于 android.widget.FrameLayout.onMeasure(FrameLayout.java:250)位于 android.view.view.measure(view.java:8322)位于 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)位于 android.widget.FrameLayout.onMeasure(FrameLayout.java:250)位于 android.view.view.measure(view.java:8322)位于 performTraversals(ViewRoot.java:876)位于 android.view.ViewRoot.handleMessage(ViewRoot.java:1911)位于 dispatchMessage(Handler.java:99)位于 Looper.loop(Looper.java:130)位于 main(ActivityThread.java:3821)位于 java.lang.reflect.Method.Invokenactive(本机方法)位于 java.lang.reflect.Method.invoke(Method.java:507)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) dalvik.system.NativeStart.main(本机方法)

我也不知道为什么会发生这种情况,因为只有一个用户报告了这种情况,尽管我的应用程序在较旧的Android版本上运行良好(我已经尝试过)

我试过的 我发现了,他们说除了抛弃旧的Android版本,他们不知道如何修复它

问题 是否有可能以某种方式解决此问题?如果是,怎么做


去谷歌的官方图书馆能解决这个问题吗?

ABS不再维护,强烈建议您转到AppCompat使用actionbar。由于不知道是什么原因导致错误,因此也不知道移动到
AppCompat
将解决问题。据我们所知,你可能会对你的孩子做一些奇怪的事情layouts@tyczj我写道,它在我测试过的所有旧Android版本上都能正常工作,我之所以使用ABS,是因为Google的库不支持PreferenceFragment和PreferenceActivity。PreferenceFragment和PreferenceActivity从不在支持库中。您必须在运行时检查设备的版本,如果SDK,则显示PreferenceFragment11@tyczj PreferenceActivity可从API 1获得,但不在支持库中:。我想要它的原因是它允许在那里有一个操作栏