ошибка при использовании объекта приложения

#android

#Android

Вопрос:

я следую этому руководству, я вызвал действие с кнопки, когда я нажимаю кнопку, приложение выходит из строя.

и мой манифест приложения выглядит следующим образом:

 <application
    android:name="com.krs.tell.app.AppController"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <!-- Activity with SearchDialog enabled -->
    <activity
        android:name="com.krs.tell.RegisterActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <!-- Enabling Search Dialog -->
        <meta-data
            android:name="android.app.default_searchable"
            android:value=".SearchableActivity" />
    </activity>
   <activity android:name="com.krs.tell.feed.MainShopActivity" /> 
   </application>
  

Я получил эту ошибку ниже:

  07-01 09:21:29.044: E/AndroidRuntime(4977): FATAL EXCEPTION: main
 07-01 09:21:29.044: E/AndroidRuntime(4977): java.lang.RuntimeException: Unable to start       activity ComponentInfo{com.krs.tell/com.krs.tell.feed.MainShopActivity}:  java.lang.NullPointerException
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at  android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.ActivityThread.access$600(ActivityThread.java:162)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.os.Handler.dispatchMessage(Handler.java:99)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.os.Looper.loop(Looper.java:158)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.ActivityThread.main(ActivityThread.java:5751)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at java.lang.reflect.Method.invokeNative(Native Method)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at java.lang.reflect.Method.invoke(Method.java:511)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at dalvik.system.NativeStart.main(Native Method)
 07-01 09:21:29.044: E/AndroidRuntime(4977): Caused by: java.lang.NullPointerException
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at com.krs.tell.feed.MainShopActivity.onCreate(MainShopActivity.java:53)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.Activity.performCreate(Activity.java:5165)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1103)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2419)
 07-01 09:21:29.044: E/AndroidRuntime(4977):    ... 11 more
 07-01 09:21:29.049: E/EmbeddedLogger(508): App crashed! Process: com.krs.tell
 07-01 09:21:29.049: E/EmbeddedLogger(508): App crashed! Package: com.krs.tell v1 (1.0)
 07-01 09:21:29.049: E/EmbeddedLogger(508): Application Label: KRS
 07-01 09:21:29.049: W/ActivityManager(508):   Force finishing activity com.krs.tell/.feed.MainShopActivity
  

это строка 53 на MainShopActivity.class

  getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#3b5998")));
  

мой styles.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>

<style name="Content">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_gravity">center</item>
</style>

<style name="Theme.FullScreen" parent="@android:style/TextAppearance">
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowFullscreen">true</item>
</style>

<style name="ChromeStylePopup" parent="android:Widget.TextView">
    <item name="android:gravity">center</item>
    <item name="android:minHeight">80dp</item>
    <item name="android:minWidth">100dp</item>
    <item name="android:maxWidth">340dp</item>
    <item name="android:padding">6dp</item>
    <item name="android:textColor">#808080</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
</style>
  

заранее спасибо…

Комментарии:

1. Вы используете объект, который не инициализирован. MainShopActivity.java:53 в строке 53. Пожалуйста, опубликуйте свой код, чтобы просмотреть его.

2. пожалуйста, опубликуйте соответствующий код вашего MainShopActivity

3. Пожалуйста, отредактируйте этот вопрос и вставьте соответствующий код.

4. Опубликуйте свой styles.xml файл

Ответ №1:

Вам необходимо изменить parent в вашем AppBaseTheme style

Если вы ориентируетесь на устройства Honeycomb и выше, вы можете использовать

 parent="@android:style/Theme.Holo.Light.DarkActionBar"
  

или, если вы хотите настроить таргетинг на более низкие устройства API, используйте

 parent="@style/Theme.AppCompat.Light.DarkActionBar"
  

наряду с android-support-v7-appcompat в качестве библиотеки поддержки для вашего проекта.

Комментарии:

1. Спасибо Apoorv за вашу помощь, но, к сожалению, это не работает

2. Вы каким-либо образом скрываете свой ActionBar ?