找不到与给定名称Theme.Sherlock.Dialog匹配的资源

Vam*_*lla 10 android actionbarsherlock

Android 2.3.3

我搜索过SO寻求解决方案,但我无法理解给出的解决方案.如果有人能够以简单的方式解释如何摆脱这个错误,我会很感激.

我在我的应用程序中使用ActionBarSherlock.我的基本主题Theme.Sherlock.Light适用于所有活动.对于一项活动,我希望我的活动看起来像一个对话框,因此我想使用Theme.Sherlock.Dialog.

这是我的清单文件的声明.

<activity
    android:name="com.xxx.xx.x.Activity"
     android:theme="@style/Theme.Sherlock.Dialog" >
</activity>
Run Code Online (Sandbox Code Playgroud)

但是我的XML中出现以下错误:error: Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.Sherlock.Dialog')..我为什么要这个?我应该怎么做才能删除它?

Aus*_*n B 29

四个月前,JakeWharton删除了ActionBarSherlock中的Dialog主题.

https://github.com/JakeWharton/ActionBarSherlock/commit/601bde214b56b8fad0b4fc5aaed5af0b531b6135

只需使用@android:style/Theme.Dialog和扩展Activity而不是SherlockActivity.ActionBarSherlock对于对话框没有做任何事情,如果你没有使用它的主题,它会抱怨.

  • 这真遗憾.我们的基类在我们的应用程序中提供了许多功能,它继承自RoboSherlockFragmentActivity.我想很多应用程序都是这样组织的.这将导致基类的代码重复数据删除,这是一个非常可怕的模式. (2认同)