2014-01-27 67 views
6

我的應用程序正在工作,但是當我今天上午開始工作時,一切都不起作用。我得到一個錯誤膨脹類錯誤,這似乎是從一個XML文件,我得到的「二進制XML文件行#25」行。正如我所說,這工作得很好,現在突然間沒有了。下面是異常跟蹤:錯誤膨脹類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) 

這裏是XML文件,它的炸彈在我的課上的setContentView(R.layout.activity_tabbed),因爲這是線,一切炸彈了。

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> 

而現在,我在XML文件中引用CustomViewPager類:

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

您是否嘗試過直接在你的XML使用ViewPager。僅用於測試問題。如果它有效,我會推薦實現繼承類而不做任何更改只有「必須擁有的方法」。也許它會導致你的問題。問候。 – sascha10000

回答

8

嘗試清理項目,並重建它:

IntelliJ IDEA:Build - >重建項目; 的Eclipse:項目 - >清潔

+0

所做的只是基本上沒有正確地構建項目,這使得R.java類未被創建,這是所有構建錯誤現在都彈出的地方。這些是項目中唯一的錯誤,R.java類缺失。 – user3241191

+0

我有時會遇到同樣的問題。我找到的解決方案就像@Aleksey。只是清理一切,重建整個項目。然後它開始工作。 –

2

代表OP


的這是試圖創建該項目的SettingsActivity我創建了一個settings.xml文件。根本沒有顯示該文件的錯誤,並以全部小寫命名。我只是徹底刪除了該文件,並正確構建了所有內容我注意到我的LogCat在這段時間也很瘋狂。它只是不斷滾動新的信息。整個事情是奇怪的,因爲,正如我所說,文件內沒有顯示錯誤,並且所有內容都被正確標記。另外,在完成整個項目的清理構建之後,這也不再產生我最初提到的錯誤,但不再創建我的R.java文件。

4

試試這個:

<com.ypmmllc.dailychecklist.CustomViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
相關問題