2014-01-27 14 views
6

Meine Anwendung funktionierte, aber als ich heute Morgen mit der Arbeit begann, funktionierte alles nicht. Ich erhalte einen Fehler beim Aufblasen eines Klassenfehlers, der aus einer XML-Datei zu stammen scheint, wo ich die Zeile "Binary XML file line # 25" erhalte. Wie gesagt, das hat gut funktioniert und jetzt plötzlich nicht mehr. Unten ist die Ausnahme-Trace:Fehler beim Aufblasen der Klasse android.support.v7.internal.widget.ActionBarView

01-27 11:20:53.624: E/AndroidRuntime(7831): FATAL EXCEPTION: main 
01-27 11:20:53.624: E/AndroidRuntime(7831): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ypmmllc.dailychecklist/com.ypmmllc.dailychecklist.TabbedActivity}: android.view.InflateException: Binary XML file line #25: Error inflating class android.support.v7.internal.widget.ActionBarView 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2737) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2753) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread.access$2500(ActivityThread.java:129) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2107) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.os.Looper.loop(Looper.java:143) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread.main(ActivityThread.java:4701) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at dalvik.system.NativeStart.main(Native Method) 
01-27 11:20:53.624: E/AndroidRuntime(7831): Caused by: android.view.InflateException: Binary XML file line #25: Error inflating class android.support.v7.internal.widget.ActionBarView 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.parseInclude(LayoutInflater.java:677) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:614) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:203) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.Activity.setContentView(Activity.java:1647) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.support.v7.app.ActionBarActivity.superSetContentView(ActionBarActivity.java:216) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:180) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:134) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:76) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at com.ypmmllc.dailychecklist.TabbedActivity.onCreate(TabbedActivity.java:30) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2701) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  ... 11 more 
01-27 11:20:53.624: E/AndroidRuntime(7831): Caused by: java.lang.reflect.InvocationTargetException 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at android.support.v7.internal.widget.ActionBarView.<init>(ActionBarView.java:218) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at java.lang.reflect.Constructor.constructNative(Native Method) 
01-27 11:20:53.624: E/AndroidRuntime(7831):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 

Hier wird die XML es Bomben auf in meiner Klasse bei setContentView (R.layout.activity_tabbed-Datei), da dies die Linie ist, wo alles Bombe.

activity_tabbed.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".TabbedActivity" > 


    <view class="com.ypmmllc.dailychecklist.CustomViewPager" 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    </view> 
</RelativeLayout> 

Und nun die CustomViewPager Klasse, die ich in der XML-Datei bin Referenzierung:

package com.ypmmllc.dailychecklist; 

import android.content.Context; 
import android.support.v4.view.ViewPager; 
import android.util.AttributeSet; 
import android.view.MotionEvent; 

public class CustomViewPager extends ViewPager { 

    private boolean enabled; 

    public CustomViewPager(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     this.enabled = false; 
    } 

    public CustomViewPager(Context context) 
    { 
     super(context); 
     this.enabled = false; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (this.enabled) { 
      return super.onTouchEvent(event); 
     } 

     return false; 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) { 
     if (this.enabled) { 
      return super.onInterceptTouchEvent(event); 
     } 

     return false; 
    } 

    public void setPagingEnabled(boolean enabled) { 
     this.enabled = enabled; 
    } 
} 
+0

Haben Sie versucht, ViewPager zu verwenden, um direkt in Ihrem XML. Nur für Testfragen. Wenn es funktioniert, würde ich empfehlen, die erbende Klasse ohne irgendwelche Änderungen nur die "must-have-Methoden" zu implementieren. Vielleicht wird es dich zu dem Problem führen. Schöne Grüße. – sascha10000

Antwort

8

versuchen, das Projekt zu bereinigen und es wieder aufzubauen:

IntelliJ IDEA: Erstellen -> Projekt neu erstellen; Eclipse-: Projekt -> Sauber

+0

Alles, was wir getan haben, war im Grunde genommen nicht korrekt das Projekt zu erstellen, was dazu führte, dass die R.java-Klasse nicht erstellt wurde, wo jetzt alle Build-Fehler auftauchen. Das sind die einzigen Fehler im Projekt, dass die R.java-Klasse fehlt. – user3241191

+0

Ich habe manchmal das gleiche Problem. Die Lösung, die ich gefunden habe, ist wie @Aleksey. Einfach alles aufräumen und das ganze Projekt neu aufbauen. Dann fängt es an zu arbeiten. –

2

Im Auftrag der OP


Es war ein settings.xml ich erstellt, während ein SettingsActivity für das Projekt zu schaffen versuchen. Für die Datei wurden überhaupt keine Fehler angezeigt und sie wurde in Kleinbuchstaben angegeben. Ich habe die Datei komplett gelöscht und alles korrekt erstellt. Ich bemerkte, dass mein LogCat während dieser Zeit ebenfalls verrückt wurde. Es scrollte nur mit neuen Informationen. Das Ganze ist bizarr, denn, wie ich schon sagte, gab es keine Fehler in der Datei und alles wurde korrekt beschriftet. Dies geschah auch, nachdem ein sauberer Build des gesamten Projekts durchgeführt wurde, der nicht mehr den Fehler hervorbrachte, von dem ich anfänglich gesprochen hatte, sondern dass er meine R.java-Datei nicht mehr erstellte.

4

Versuchen Sie folgendes:

<com.ypmmllc.dailychecklist.CustomViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
Verwandte Themen