如果有帮助,我也在使用 SherlockActionBar。
触发此异常的行是:setContentView(R.layout.activity);
我正在使用的课程 extends SherlockFragmentActivity
应用程序名称是 com.testapp.androidapp
类是:com.testapp.androidapp.SwipeyTabsActivity。
我已经在几部手机上尝试过这个应用程序,除了在这台设备上,Nexus S 之外,所有设备都可以工作。虽然所有设备都报告了 Android 的实际版本号(4.0.1、2.3.3),但这是唯一的设备具有命名版本 (IceCreamSandwich)。
问题是,如何确保不会发生此错误?如果有帮助,我不需要效果(EdgeEffect)。
这些是我的进口:
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.Window;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.MenuItem.OnActionExpandListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
这个异常的总结是:
引起:java.lang.NoClassDefFoundError: android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) 在 android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat. java:92) 在 android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) 在 android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290)
完整的 StackTrace:
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.testapp.androidapp/com.testapp.androidapp.SwipeyTabsActivity}:android.view.InflateException:二进制 XML 文件第 22 行:膨胀类 android.support.v4.view 时出错.ViewPager at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1859) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) at android.app.ActivityThread.access$600(ActivityThread.java:122) at android .app.ActivityThread$H.handleMessage(ActivityThread.java:1062) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app。 ActivityThread.main(ActivityThread.java:4215) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 在 dalvik.system.NativeStart.main (本机方法)由以下原因引起:android.view.InflateException:二进制 XML 文件第 22 行:在 android.view.LayoutInflater.createView(LayoutInflater.java:606) 的 android.view.LayoutInflater.createView(LayoutInflater.java:606) 处膨胀类 android.support.v4.view.ViewPager 时出错。 view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate (LayoutInflater.java:396) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:352) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) 在 com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) 在 com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) 在 com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java :112) 在 android.app.Activity.performCreate(Activity.java:4434) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) .. . 11 更多原因:java.lang.reflect.Constructor.constructNative(Native Method) 的 java.lang.reflect.Constructor.newInstance(Constructor.java:417) 的 android.view.LayoutInflater 的 java.lang.reflect.InvocationTargetException .createView(LayoutInflater.java:586) ... 23 更多原因:java.lang.NoClassDefFoundError: android.widget.EdgeEffect 在 android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) 在 android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92 )在 android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) 在 android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) 在 android.support.v4.view.ViewPager.( ViewPager.java:277) ... 26 更多 android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v4.view.ViewPager at android.view.LayoutInflater.createView(LayoutInflater.java:606 ) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 在 android。view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy .impl.PhoneWindow.setContentView(PhoneWindow.java:244) 在 com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) 在 com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) 在 com. testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) 在 android.app.Activity.performCreate(Activity.java:4434) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 在 android.app.ActivityThread .performLaunchActivity(ActivityThread.java:1823) 在 android.app.ActivityThread。handleLaunchActivity(ActivityThread.java:1875) 在 android.app.ActivityThread.access$600(ActivityThread.java:122) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) 在 android.os.Handler.dispatchMessage( Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4215) 在 java.lang.reflect.Method.invokeNative(Native Method)在 java.lang.reflect.Method.invoke(Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) 原因:java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect 的 java.lang.reflect.InvocationTargetException。构造函数。newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) ... 23 更多原因:java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget .EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) 在 android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) 在 android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133)在 android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) 在 android.support.v4.view.ViewPager.(ViewPager.java:277) ... 还有 26 个 java.lang.reflect.InvocationTargetException 在java.lang.reflect.Constructor.constructNative(Native Method) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:417) 在 android.view.LayoutInflater。createView(LayoutInflater.java:586) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java :489) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:396) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow. java:244) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) at com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity .java:112) 在 android.app.Activity.performCreate(Activity.java:4434) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)。 app.ActivityThread.access$600(ActivityThread.java:122) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) 在 android.os。 Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4215) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke( Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 在 dalvik。system.NativeStart.main(Native Method) 引起:java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget .EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) 在 android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) 在 android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290)在 android.support.v4.view.ViewPager.(ViewPager.java:277) ... 还有 26 个 java.lang.NoClassDefFoundError: android.widget.EdgeEffect 在 android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java :30) 在 android.support.v4.widget 的 android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92)。EdgeEffectCompat.(EdgeEffectCompat.java:133) 在 android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) 在 android.support.v4.view.ViewPager.(ViewPager.java:277) 在 java.lang .reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:680) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:489) 在 android.view.LayoutInflater.inflate(LayoutInflater.java: 396) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) 在 com.android.view.LayoutInflater.inflate(LayoutInflater.java:352) 在 com。actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) 在 com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) 在 com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) 在 android .app.Activity.performCreate(Activity.java:4434) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) 在 android.app.ActivityThread。 handleLaunchActivity(ActivityThread.java:1875) 在 android.app.ActivityThread.access$600(ActivityThread.java:122) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) 在 android.os.Handler.dispatchMessage( Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4215) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511) 在 com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method)