2016-05-23 8 views
20

ich die Unterstützung Design-Bibliothek auf die neueste Version und jetzt jede Aktivität vor kurzem aktualisiert, die ein CollapsingToolbarLayout hat werfen die folgende Ausnahme:Fehler Inflating CollapsingToolbarLayout

java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of 'android.support.v4.graphics.drawable.DrawableCompat' appears in /data/data/com.radioafrica.music/files/instant-run/dex/slice-com.android.support-support-v4-24.0.0-beta1_f8cf3ba4c70f87f407a745b9fa14a2205d0b587c-classes.dex) 

Das vollständige Fehlerprotokoll ist wie folgt:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.radioafrica.music/com.radioafrica.music.activity.PlaylistTracks}: android.view.InflateException: Binary XML file line #31: Binary XML file line #31: Error inflating class android.support.design.widget.CollapsingToolbarLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of 'android.support.v4.graphics.drawable.DrawableCompat' appears in /data/data/com.radioafrica.music/files/instant-run/dex/slice-com.android.support-support-v4-24.0.0-beta1_f8cf3ba4c70f87f407a745b9fa14a2205d0b587c-classes.dex) 
    at android.support.design.widget.CollapsingToolbarLayout.setStatusBarScrim(CollapsingToolbarLayout.java:663) 
    at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:197) 
    at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:132)                   
    at java.lang.reflect.Constructor.newInstance(Native Method)                   
    at android.view.LayoutInflater.createView(LayoutInflater.java:619)                   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)                   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)                   
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 

ich kann nicht scheinen zu finden, was das Problem ist ...

die Layout-Datei ist:

`

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginEnd="64dp" 
     app:expandedTitleMarginStart="48dp" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/header" 
      android:layout_width="match_parent" 
      android:layout_height="280dip" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/no_cover" 
      android:transitionName="avatar" 
      app:layout_collapseMode="parallax" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <com.github.glomadrian.loadingballs.BallView 
     android:id="@+id/ballView" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="center" 
     android:layout_marginTop="150dip" 
     lib:ball_colors="@array/color" 
     lib:balls="5" 
     lib:enable_size_animation="true" 
     lib:max_ball_size="12dp" 
     lib:min_ball_size="5dp" 
     lib:movement_cycle_time="1500" 
     lib:size_cycle_time="500" /> 

    <android.support.v4.widget.NestedScrollView 
     android:id="@+id/nestedScrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipToPadding="false" 
     android:visibility="gone" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:card_view="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       card_view:cardCornerRadius="0dip" 
       card_view:cardElevation="2dip" 
       card_view:cardPreventCornerOverlap="true"> 

       <LinearLayout 
        android:id="@+id/layout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 
        android:padding="10dip"> 

        <TextView 
         android:id="@+id/name" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="@style/TextAppearance.AppCompat.Large" 
         android:textColor="#fff" 
         android:layout_marginBottom="10dip" 
         android:textStyle="bold" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/owner" 
         android:textAppearance="@style/TextAppearance.AppCompat.Medium" 
         android:textColor="#e2e2e2" /> 
       </LinearLayout> 

      </android.support.v7.widget.CardView> 

      <com.radioafrica.music.view.ExpandableHeightListView 
       android:id="@+id/top_tracks" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:divider="#90ffffff" 
       android:dividerHeight="1dip" 
       android:focusable="false" 
       android:footerDividersEnabled="true" 
       android:headerDividersEnabled="true" /> 

     </LinearLayout> 

    </android.support.v4.widget.NestedScrollView> 

</RelativeLayout> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/floatingPlayButton" 
    style="@style/FabStyle" 
    app:layout_anchor="@id/app_bar_layout" 
    app:layout_anchorGravity="bottom|right|end" /> 

<include layout="@layout/mini_player" /> 

`

Der Code für die Aktivität ist:

public class AlbumInfo extends AppCompatActivity implements AdapterView.OnItemClickListener, View.OnClickListener { 

public static final String ALBUM = "album"; 

private ExpandableHeightListView expandableHeightListView; 
private NestedScrollView nestedScrollView; 
private ImageView header; 
private BallView ballView; 
private LinearLayout layout; 
private LinearLayout miniPlayer; 
private TextView title, artistTextView; 
private ImageButton playPause; 
private ImageView artwork; 
private CollapsingToolbarLayout collapsingToolbarLayout; 

ImageButton previous; 
ImageButton next; 
TextView name; 
TextView owner; 
FloatingActionButton fab; 

String songTitle; 
String singer; 
String art; 
boolean playing = false; 

private ArrayList<Track> trackList; 
private Album album; 

@Subscribe(threadMode = ThreadMode.MAIN) 
public void onEvent(UIEvent uiEvent) { 
    miniPlayer.setVisibility(View.VISIBLE); 
    miniPlayer.setClickable(true); 

    songTitle = uiEvent.title; 
    singer = uiEvent.artist; 
    art = uiEvent.art; 
    playing = uiEvent.playing; 

    togglePlayButtonState(); 

    updateViews(); 
} 

private void updateViews() { 
    Picasso.with(this).load(art).fit().centerCrop().placeholder(R.drawable.no_cover).error(R.drawable.no_cover).into(artwork); 

    if (NakedGroove.getMediaType().equals(NakedGroove.RADIO)) { 
     artistTextView.setText(Html.fromHtml(singer)); 
     title.setText(songTitle); 
    } else { 
     artistTextView.setText(singer); 
     title.setText(songTitle); 
    } 
} 

@Subscribe(threadMode = ThreadMode.MAIN) 
public void onEvent(TracksEvent tracksEvent) { 
    trackList = tracksEvent.tracks; 

    if (trackList.size() != 0) { 
     ArtistTracksAdapter artistTracksAdapter = new ArtistTracksAdapter(AlbumInfo.this, R.layout.album_tracks_layout, trackList); 
     expandableHeightListView.setAdapter(artistTracksAdapter); 

     if (ballView != null) { 
      ballView.setVisibility(View.GONE); 
      nestedScrollView.setVisibility(View.VISIBLE); 
     } 
    } 
} 

private Target target = new Target() { 

    @Override 
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
     header.setImageBitmap(bitmap); 
     setColors(bitmap); 
    } 

    @Override 
    public void onBitmapFailed(Drawable errorDrawable) { 
     Picasso.with(AlbumInfo.this).load(album.getAlbumArt()).into(target); 
    } 

    @Override 
    public void onPrepareLoad(Drawable placeHolderDrawable) { 
     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.no_cover); 
     header.setImageBitmap(bitmap); 
     setColors(bitmap); 
    } 
}; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    initActivityTransitions(); 
    setStatusBarColor(); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.album); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    assert getSupportActionBar() != null; 
    getSupportActionBar().setHomeButtonEnabled(true); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    album = getIntent().getParcelableExtra(ALBUM); 

    fetchAlbumTracks(album.getId()); 

    expandableHeightListView = (ExpandableHeightListView) findViewById(R.id.top_tracks); 
    nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView); 
    header = (ImageView) findViewById(R.id.header); 
    ballView = (BallView) findViewById(R.id.ballView); 
    name = (TextView) findViewById(R.id.name); 
    owner = (TextView) findViewById(R.id.owner); 
    layout = (LinearLayout) findViewById(R.id.layout); 
    fab = (FloatingActionButton) findViewById(R.id.floatingPlayButton); 
    collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); 

    title = (TextView) findViewById(R.id.title); 
    artistTextView = (TextView) findViewById(R.id.artist); 
    previous = (ImageButton) findViewById(R.id.notification_base_previous); 
    playPause = (ImageButton) findViewById(R.id.notification_base_play); 
    next = (ImageButton) findViewById(R.id.notification_base_next); 
    artwork = (ImageView) findViewById(R.id.notification_base_image); 
    miniPlayer = (LinearLayout) findViewById(R.id.mini_player); 

    collapsingToolbarLayout.setTitle(album.getTitle()); 
    collapsingToolbarLayout.setExpandedTitleColor(getResources().getColor(android.R.color.transparent)); 

    owner.setText(album.getArtist()); 
    name.setText(album.getTitle()); 

    fab.setOnClickListener(this); 
    fab.setRippleColor(getResources().getColor(R.color.app_theme_dark)); 

    miniPlayer.setOnClickListener(this); 
    previous.setOnClickListener(this); 
    next.setOnClickListener(this); 
    playPause.setOnClickListener(this); 

    expandableHeightListView.setExpanded(true); 
    expandableHeightListView.setOnItemClickListener(this); 

    if (album.getAlbumArt().length() != 0) 
     Picasso.with(this).load(album.getAlbumArt()).into(target); 
    else 
     Picasso.with(this).load(R.drawable.no_cover).into(target); 

    if (NakedGroove.isPlaying() || NakedGroove.isPaused()) { 
     miniPlayer.setVisibility(View.VISIBLE); 
     togglePlayButtonState(); 
    } else { 
     miniPlayer.setVisibility(View.GONE); 
    } 
} 

private void setStatusBarColor() { 
    Window window = getWindow(); 
    if (Build.VERSION.SDK_INT >= 19 && Build.VERSION.SDK_INT < 21) 
     window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
    if (Build.VERSION.SDK_INT >= 21) 
     getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent)); 
} 

private void fetchAlbumTracks(String id) { 
    startService(new Intent(this, RefresherService.class).setAction(RefresherService.FETCH_ALBUM_TRACKS).putExtra(RefresherService.ALBUM_ID, id)); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      super.onBackPressed(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

@Override 
public void onPause() { 
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 

    togglePlayButtonState(); 

    if (NakedGroove.getMediaType() != null && !NakedGroove.getMediaType().equals(NakedGroove.NOTHING)) { 
     updateViews(); 
    } 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putString(ALBUM, album.getTitle()); 
} 

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    NakedGroove.setCurrentPlaylist(trackList); 
    NakedGroove.setCurrentIndex(position); 

    if (Build.VERSION.SDK_INT >= 16) 
     startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_URL)); 
    else 
     startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_URL)); 
} 

private void playPauseMusic() { 
    if (NakedGroove.isPlaying()) { 
     if (Build.VERSION.SDK_INT >= 16) 
      startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PAUSE)); 
     else 
      startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PAUSE)); 
    } else { 
     if (Build.VERSION.SDK_INT >= 16) 
      startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PLAY)); 
     else 
      startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PLAY)); 
    } 
} 

@Override 
public void onClick(View view) { 
    switch (view.getId()) { 
     case R.id.mini_player: 
      startActivity(new Intent(this, MusicPlayer.class)); 
      break; 
     case R.id.notification_base_play: 
      playPauseMusic(); 
      break; 
     case R.id.notification_base_next: 
      if (Build.VERSION.SDK_INT >= 16) 
       startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_SKIP)); 
      else 
       startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_SKIP)); 
      break; 
     case R.id.notification_base_previous: 
      if (Build.VERSION.SDK_INT >= 16) 
       startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PREVIOUS)); 
      else 
       startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PREVIOUS)); 
      break; 
     case R.id.floatingPlayButton: 
      if (trackList.size() != 0) { 
       NakedGroove.setCurrentPlaylist(trackList); 
       NakedGroove.setCurrentIndex(0); 

       if (Build.VERSION.SDK_INT >= 16) 
        startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_URL)); 
       else 
        startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_URL)); 
      } 
      break; 
    } 
} 

private void togglePlayButtonState() { 
    if (playing) { 
     playPause.setImageResource(R.drawable.ic_music_pause); 
    } else { 
     playPause.setImageResource(R.drawable.ic_music_play); 
    } 
} 

private void initActivityTransitions() { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     ChangeBounds transition = new ChangeBounds(); 
     transition.excludeTarget(android.R.id.statusBarBackground, true); 
     getWindow().setEnterTransition(transition); 
     getWindow().setReturnTransition(transition); 
    } 
} 

@Override 
protected void attachBaseContext(Context newBase) { 
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
    EventBus.getDefault().register(this); 
} 

@Override 
protected void onStop() { 
    EventBus.getDefault().unregister(this); 
    super.onStop(); 
} 

private void setColors(Bitmap bitmap) { 
    Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() { 
     @Override 
     public void onGenerated(Palette palette) { 
      if (palette.getVibrantSwatch() != null) { 
       Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); 
       float[] vibrant = vibrantSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(vibrant)); 
       layout.setBackgroundColor(Color.HSVToColor(vibrant)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(vibrant)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(vibrant)); 
      } else if (palette.getDarkVibrantSwatch() != null) { 
       Palette.Swatch darkVibrantSwatch = palette.getDarkVibrantSwatch(); 
       float[] darkVibrant = darkVibrantSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(darkVibrant)); 
       layout.setBackgroundColor(Color.HSVToColor(darkVibrant)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(darkVibrant)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(darkVibrant)); 
      } else if (palette.getDarkMutedSwatch() != null) { 
       Palette.Swatch darkMutedSwatch = palette.getDarkMutedSwatch(); 
       float[] darkMuted = darkMutedSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(darkMuted)); 
       layout.setBackgroundColor(Color.HSVToColor(darkMuted)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(darkMuted)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(darkMuted)); 
      } else { 
       nestedScrollView.setBackgroundColor(getResources().getColor(R.color.DeepGrey)); 
       layout.setBackgroundColor(getResources().getColor(R.color.DeepGrey)); 
       collapsingToolbarLayout.setContentScrimColor(getResources().getColor(R.color.DeepGrey)); 
       collapsingToolbarLayout.setStatusBarScrimColor(getResources().getColor(R.color.DeepGrey)); 
      } 

      supportStartPostponedEnterTransition(); 
     } 
    }); 
} 

}

+0

Zuerst bearbeiten Sie Ihre Frage. –

+0

posten Sie Ihre Layout-Datei – Mehta

+0

Geben Sie die Aktivität/das Fragment an, bei der dieser Absturz auftritt. –

Antwort

29

antwortete ich einen ähnlichen Beitrag hier Error inflating class CollapsingToolbarLayout

Ich weiß, dass eine akzeptierte Antwort schon da ist, aber es funktioniert nicht (oder nicht mehr arbeiten).

Ich verbringe ein paar Stunden damit, über diesen Fehler zu forschen, was ich herausgefunden habe, ist dies.

Erstens, aufgrund der ersten Version von Android Nougat auch bekannt als Android 7.0 (API 24) CompileSdkVersion 24 ist jetzt verfügbar. Um das zu tun, müssen Sie Ihren SDK aktualisieren. Step 1

enter image description here

Zweitens ist Ihre gradle Dateien (Internetverbindung erforderlich) zu aktualisieren. Step 2

enter image description here

Aktualisieren Sie auch diesen Teil der App.gradle

enter image description here

Dritte (optional) Rein Projekt, Build Project (beide unter Übersetzungs Tab)

Ich hoffe, dass diese Hilfe jemand da draußen, und einige wenige Stunden der Erforschung speichern.

Prost/Happy Codierung

Hoffe, es hilft.

+1

Updating SDK (Android Nougat) und die Änderung der build.gradle Datei als API Einstellung 24 arbeitet wie es „Fehler aufblähenden Klasse CollapsingToolbarLayout“ Fehler aus collapsingtoolbar Layout entfernt. –

+0

froh, dass es dir hilft. – ralphgabb

+1

Perfekte Lösung –

1

Versuchen Sie, alle Ihre Support-Bibliotheken auf die 24.0.0-beta1 Version zu aktualisieren. Dann clean, rebuild und run Ihr Projekt erneut. Das sollte hoffentlich dein Problem beheben.

+0

Ich habe aktualisiert, aber es gibt immer noch keine Änderung. Der Fehler ist immer noch hartnäckig. –

+0

Auf welchem ​​Gerät stürzt das ab? Als temporäre Lösung könnten Sie versuchen, zu entfernen 'App:„attr/colorPrimary“contentScrim =' aus dem XML, nach dieser [Frage] (http://stackoverflow.com/questions/37395138/error-when-setting-contentscrim -color-on-collapsingtoolbarlayout). –

+0

Ich teste auf einem Nexus 6 mit Android 6.0.1. Selbst wenn ich das entferne, kann ich es immer noch nicht programmgesteuert einstellen. –

5

Es stellte sich heraus, dass ich eine andere Abhängigkeit hatte, die eine widersprüchliche Support-Bibliothek hatte. Wenn ich die Abhängigkeit löschte, wurde das Projekt erfolgreich erstellt und ausgeführt.

+0

Wie haben Sie das debuggen? –

+0

@TylerPfaff Ich habe versucht, die Version der v4-support-Bibliothek zu aktualisieren, die ich hatte, aber die Absturzprotokolle zeigten eine komplett andere Version der Bibliothek als die, die ich hatte. Ich überprüfte dann alle meine Abhängigkeiten, um zu sehen, welche auch ihre eigene Version der Unterstützungsbibliothek enthalten können, und entfernte sie. –

+0

hört sich gut an, danke! –

0

Versuchen Sie eine com.android.support:design Abhängigkeit zu der gleichen Version wie andere Support-Bibliotheken zu aktualisieren. Ich habe gerade dieses Problem in meinem eigenen Projekt gelöst. Ich habe es nicht explizit in meinem build.gradle hinzugefügt, da ich eine Bibliothek verwende, die support-design-Bibliothek verwendet. Gradle Aufgabe androidDependencies zeigte, dass Support-Design noch niedrigere Version nach dem Update von anderen Bibliotheken hatte, so dass ich es explizit hinzugefügt und es funktionierte wie ein Charme.

33

Gefundene Lösung. Fügen Sie einfach

app:statusBarScrim="@null" 

auf Ihre CollapsingToolbarLayout

+5

Vielen Dank. Das Ändern der Versionen auf und ab macht mir Angst; Das war eine sichere Lösung. – lionello

+1

Wirklich dankbar für diese Antwort, das hat für mich funktioniert! – Leonardo

+0

Funktioniert perfekt in meinem Android-Gerät und auch in meinem iOS-Gerät mit Webhook –

Verwandte Themen