에 클래스하여 ImageButton의 온로드 팽창 :바이너리 XML 파일 라인 # 45 : 오류가 있지만 나는이 오류가 발생하고 일부 장치
Binary XML file line #45: Error inflating class ImageButton
난 그냥 이유를 이해 해달라고. 모든 장치가 아닌 일부 장치에서만 발생합니다. 동일한 에뮬레이터에서 api 21로 작업하지만 api 19를 사용하면 충돌합니다. 나는 도구를 업데이트하고, 라이브러리를 제거하고, 그런 것들을 제거하는 것과 같은 솔루션을 찾으려고 노력했지만 작동하지 않았다. 이 문제를 어떻게 해결할 수 있습니까?
FATAL EXCEPTION: main
Process: com.company.example, PID: 24772
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.company.example/com.company.example.MainActivity}: android.view.InflateException: Binary XML file line #45: Error inflating class ImageButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #45: Error inflating class ImageButton
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:714)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.company.example.MainActivity.onCreate(MainActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020088 a=-1 r=0x7f020088}
at android.content.res.Resources.loadDrawable(Resources.java:2073)
at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
at android.view.View.<init>(View.java:3554)
at android.widget.ImageView.<init>(ImageView.java:123)
at android.widget.ImageButton.<init>(ImageButton.java:87)
at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:57)
at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:53)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:118)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.company.example.MainActivity.onCreate(MainActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
내 레이아웃 일명 내 activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.company.example.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:id="@+id/view">
<include
android:layout_height="wrap_content"
android:layout_width="match_parent"
layout="@layout/toolbar_layout"
app:navigationIcon="?attr/homeAsUpIndicator"/>
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tabLayout"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabIndicatorColor="@color/colorWhite"
></android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/viewPager"
android:nestedScrollingEnabled="false"
android:layout_below="@+id/view"
></android.support.v4.view.ViewPager>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.getbase.floatingactionbutton.FloatingActionsMenu
android:id="@+id/multiple_actions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="gone"
fab:fab_addButtonColorNormal="@color/colorPrimary"
fab:fab_addButtonColorPressed="@color/colorPrimaryDark"
fab:fab_addButtonPlusIconColor="@color/colorWhite"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp">
<com.getbase.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/MyRandomTheme"
fab:fab_colorNormal="@color/colorPrimary"
fab:fab_icon="@drawable/ic_today_24dp"
fab:fab_size="mini"
fab:fab_colorPressed="@color/colorPrimary"
android:onClick="getWeek"/>
<com.getbase.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_colorNormal="@color/colorPrimary"
fab:fab_colorPressed="@color/colorPrimaryDark"
fab:fab_icon="@drawable/ic_person_24dp"
fab:fab_size="mini"
android:onClick="getLeerling"/>
<com.getbase.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_colorNormal="@color/colorPrimary"
fab:fab_colorPressed="@color/colorPrimaryDark"
fab:fab_icon="@drawable/ic_settings_24dp"
fab:fab_size="mini"
android:onClick="getSettings"/>
</com.getbase.floatingactionbutton.FloatingActionsMenu>
<android.support.design.widget.FloatingActionButton
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end|right"
android:src="@drawable/ic_cached_white_24dp"
android:layout_marginRight="35dp"
android:layout_marginEnd="35dp"
android:layout_marginBottom="60dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="restartApp"/><!--32 dp bottom-->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/banner_ad_unit_id" />
</RelativeLayout>
</RelativeLayout>
활동이 어 ... 너무 잘 게시 너무 큰 ... 병이 포스트에서 OnCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
//setTheme(R.style.MyRandomTheme);
main = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
if(getIntent()!=null && getIntent().hasExtra(getPackageName())){notificationManager.cancelAll(); }
toolbar = (Toolbar) findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
TextView title = (TextView) findViewById(R.id.ToolbarIconsTextview);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
if (width <= 520) {title.setTextSize(14);}
final SharedPreferences prefers = this.getSharedPreferences("com.devwild.zermelo", Context.MODE_PRIVATE);
//prefers.edit().putBoolean("premium", false).apply();
int PrimaryColor = prefers.getInt("PrimaryColor", 0);
final TabLayout tablayout = (TabLayout) findViewById(R.id.tabLayout);
FloatingActionButton Fab = (FloatingActionButton) findViewById(R.id.fab);
if (PrimaryColor != 0) {
if (getSupportActionBar() != null)
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(PrimaryColor));
tablayout.setBackgroundColor(PrimaryColor);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(CircleView.shiftColorDown(PrimaryColor));
getWindow().setNavigationBarColor(PrimaryColor);
ActivityManager.TaskDescription taskDescription = new ActivityManager.TaskDescription("Zermelo", null, PrimaryColor); //replace icon today with zermelo
(this).setTaskDescription(taskDescription);
}
Fab.setRippleColor(PrimaryColor);
Fab.setBackgroundTintList(ColorStateList.valueOf(PrimaryColor));
}
if (Build.VERSION.SDK_INT <= 17) {
try {
FloatingActionsMenu multiple_actions = (FloatingActionsMenu) findViewById(R.id.multiple_actions);
multiple_actions.setVisibility(View.VISIBLE);
GridLayout toolBar = (GridLayout) findViewById(R.id.ToolbarIcons);
toolBar.setVisibility(View.GONE);
TextView toolbarIconsTextview = (TextView) findViewById(R.id.ToolbarIconsTextview);
toolbarIconsTextview.setVisibility(View.GONE);
} catch (NullPointerException e) {e.printStackTrace();}
}
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
SharedPreferences prefs = this.getSharedPreferences("com.devwild.zermelo", Context.MODE_PRIVATE);
String authcode = prefs.getString("Authcode", "");
String school = prefs.getString("School", "");
if (authcode.equalsIgnoreCase(null) || authcode.equalsIgnoreCase("") || school.equalsIgnoreCase(null) || school.equalsIgnoreCase("")) {
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setVisibility(View.GONE);
viewPagerAdapter.addFragments(new LoginFragment(), "VR");
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
tabLayout.setVisibility(View.GONE);
GridLayout toolBar = (GridLayout) findViewById(R.id.ToolbarIcons);
toolBar.setVisibility(View.GONE);
TextView toolbarIconsTextview = (TextView) findViewById(R.id.ToolbarIconsTextview);
toolbarIconsTextview.setVisibility(View.GONE);
} else {
viewPagerAdapter.addFragments(new Maandag(), "MA");
viewPagerAdapter.addFragments(new Dinsdag(), "DI");
viewPagerAdapter.addFragments(new Woensdag(), "WO");
viewPagerAdapter.addFragments(new Donderdag(), "DO");
viewPagerAdapter.addFragments(new Vrijdag(), "VR");
}
viewPager.setAdapter(viewPagerAdapter);
tabLayout.setupWithViewPager(viewPager);
viewPager.setOffscreenPageLimit(5);
bp = new BillingProcessor(this, LICENSE_KEY, MERCHANT_ID, new BillingProcessor.IBillingHandler() {
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
prefers.edit().putBoolean("premium", true).apply();
Toast.makeText(getApplicationContext(), "Aankoop voltooid! Enorm bedankt! Geniet van de app!", Toast.LENGTH_LONG).show();
}
@Override
public void onBillingError(int errorCode, Throwable error) {}
@Override
public void onBillingInitialized() {
if (prefers.contains("premium")) {
if (prefers.getBoolean("premium", false) == true) {}
else {
bp.loadOwnedPurchasesFromGoogle();
boolean isItPurchased = bp.isPurchased("premium");
if (isItPurchased == true) {prefers.edit().putBoolean("premium", true).apply();}
}
}
else {
bp.loadOwnedPurchasesFromGoogle();
boolean isItPurchased = bp.isPurchased("premium");
if (isItPurchased == true) {prefers.edit().putBoolean("premium", true).apply();}
}
}
@Override
public void onPurchaseHistoryRestored() {}
});
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
if(getIntent()!=null && getIntent().hasExtra(getPackageName())){notificationManager.cancel(NOTIFICATION_ID);}
Calendar c = Calendar.getInstance();
int currentDay = c.get(Calendar.DAY_OF_WEEK);
Boolean notifications = prefs.getBoolean("Notificaties", false);
if (prefs.contains("Notificaties")) {
if (notifications == true) {
switch (currentDay) {
case 1:viewPager.setCurrentItem(0, true);break;
case 2:viewPager.setCurrentItem(0, true);prefers.edit().putString("NotificationDay", "Monday").apply();notificationThread.start();break;
case 3:viewPager.setCurrentItem(1, true);prefers.edit().putString("NotificationDay", "Tuesday").apply();notificationThread.start();break;
case 4:viewPager.setCurrentItem(2, true);prefers.edit().putString("NotificationDay", "Wednesday").apply();notificationThread.start();break;
case 5:viewPager.setCurrentItem(3, true);prefers.edit().putString("NotificationDay", "Thursday").apply();notificationThread.start();break;
case 6:viewPager.setCurrentItem(4, true);prefers.edit().putString("NotificationDay", "Friday").apply();notificationThread.start();break;
case 7:viewPager.setCurrentItem(0, true);break;
default:viewPager.setCurrentItem(0, true);break;
}
}
else {
switch (currentDay) {
case 1:viewPager.setCurrentItem(0, true);break;
case 2:viewPager.setCurrentItem(0, true);break;
case 3:viewPager.setCurrentItem(1, true);break;
case 4:viewPager.setCurrentItem(2, true);break;
case 5:viewPager.setCurrentItem(3, true);break;
case 6:viewPager.setCurrentItem(4, true);break;
case 7:viewPager.setCurrentItem(0, true);break;
default:viewPager.setCurrentItem(0, true);break;
}
}
}
else {
switch (currentDay) {
case 1:viewPager.setCurrentItem(0, true);break;
case 2:viewPager.setCurrentItem(0, true);break;
case 3:viewPager.setCurrentItem(1, true);break;
case 4:viewPager.setCurrentItem(2, true);break;
case 5:viewPager.setCurrentItem(3, true);break;
case 6:viewPager.setCurrentItem(4, true);break;
case 7:viewPager.setCurrentItem(0, true);break;
default:viewPager.setCurrentItem(0, true);break;
}
}
if (prefs.contains("CompletedIntro")) {
if (prefs.getBoolean("CompletedIntro", false)) {
}
else {
finish();
Intent i = new Intent(this, Intro.class);
startActivity(i);
}
}
else if (!prefs.contains("CompletedIntro")) {
finish();
Intent i = new Intent(this, Intro.class);
startActivity(i);
}
}
어떤 종류의 벡터 드로어 블 (svg)을 사용하고 있습니까? –
@AdamForbis nope – Jason
이미지 버튼의 이미지가 버전이 지정된 폴더에 있습니까? http://stackoverflow.com/questions/4512981/android-view-inflateexception-binary-xml-file-line-12-error-inflating-class –