【发布时间】:2014-05-06 04:33:24
【问题描述】:
我有一个扩展 FragmentActivity 并导入 android 库 v4 的类。现在我想在我的活动中实现导航抽屉,我想扩展 ActionBarActivity。而且由于 ActionBarActivity 也实现了 FragmentActivity,我被告知我仍然可以在我的类中使用带有 ActionBarActivity 的片段。
所以我开始使用 ActionBarActivity,首先是导入 v7 库。我从
复制了文件C:\Program Files\Android 开发者工具\sdk\extras\android\support\v7
到工作区上我的应用程序文件夹中的libs 文件夹。
现在我的 Eclipse 没有检测到我的类扩展 ActionBarActivity 的错误。但是,当我运行它时,它会崩溃。
以下是在我的 LogCat 中找到的一些信息(我想知道它是否会随时提供帮助):
03-27 16:30:12.113: E/AndroidRuntime(8130): FATAL EXCEPTION: main
03-27 16:30:12.113: E/AndroidRuntime(8130): Process: com.anggrian.readee, PID: 8130
03-27 16:30:12.113: E/AndroidRuntime(8130): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:107)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
03-27 16:30:12.113: E/AndroidRuntime(8130): at com.anggrian.readee.MainActivity.onCreate(MainActivity.java:37)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.Activity.performCreate(Activity.java:5231)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.ActivityThread.access$800(ActivityThread.java:145)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.os.Handler.dispatchMessage(Handler.java:102)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.os.Looper.loop(Looper.java:136)
03-27 16:30:12.113: E/AndroidRuntime(8130): at android.app.ActivityThread.main(ActivityThread.java:5081)
03-27 16:30:12.113: E/AndroidRuntime(8130): at java.lang.reflect.Method.invokeNative(Native Method)
03-27 16:30:12.113: E/AndroidRuntime(8130): at java.lang.reflect.Method.invoke(Method.java:515)
03-27 16:30:12.113: E/AndroidRuntime(8130): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
03-27 16:30:12.113: E/AndroidRuntime(8130): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-27 16:30:12.113: E/AndroidRuntime(8130): at dalvik.system.NativeStart.main(Native Method)
我想知道是否可以得到任何帮助,谢谢!
@Raghunandan 这是我的 style.xml:
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<!-- MY OWN THEME -->
<style name="DarkGreyTheme" parent="@android:style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/DarkGreyActionBar</item>
</style>
<style name="DarkGreyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#b6b6b6</item>
</style>
<!-- MY OWN THEME -->
<style name="OrangeTheme" parent="@android:style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/OrangeActionBar</item>
</style>
<style name="OrangeActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#ff6400</item>
</style>
</resources>
AndroidManifest.xml 中没有使用 AppTheme,因此请忽略它们。我曾经在我的自定义主题中使用@android:style/Theme.Holo.Light,但由于我已经在我的主类中扩展了 ActionBarActivity,LogCat 表明我需要使用 AppCompat 主题。
【问题讨论】:
-
您使用什么 IDE?无需将任何内容复制到 libs 文件夹。
-
Eclipse,否则推荐什么方法将库导入到app项目文件夹中的libs文件夹中
-
你是否在 libs 文件夹中添加了 jar 文件
-
@Anggrian 在我的帖子中已经提到,链接也有快照
标签: android android-actionbar fragment