2016-10-17 3 views
0

Ich verwende eine ScrollingActivity, die mit einem CollapsingToolbarLayout kommt. Ich möchte ein ImageView zu diesem Layout hinzufügen und in der Lage sein, das Bild programmgesteuert umzuschalten, aber es scheint nichts zu tun.Einstellung CollapsingToolbarLayout Bild programmgesteuert

XML mein Layouts:

<android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <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/AppTheme.PopupOverlay" /> 

     <ImageView 
      android:id="@+id/header_logo" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:scaleType="center" 
      android:layout_gravity="center" 
      app:layout_collapseMode="parallax" 
      /> 

    </android.support.design.widget.CollapsingToolbarLayout> 

Wenn ich versuche, so etwas wie die folgenden zu tun, auf einer Veranstaltung:

ImageView im = (ImageView)findViewById(R.id.toolbar_layout); 
im.setBitmap(image_here); 

Aber wenn ich dieses Ereignis auslösen, geschieht nichts. Ich weiß, dass mein Bild korrekt analysiert wird, weil ich keine Ausnahmen davon bekomme; Ich bekomme während dieses Prozesses überhaupt keine Ausnahmen. Mache ich hier etwas falsch? Gibt es eine Möglichkeit, diese Toolbar zu aktualisieren, um das Image zu aktualisieren?

+0

i seine denken, weil 'R.id.toolbar_layout' das ist' id 'von' CoordinatorLayout' und nicht die 'id' von' ImageView'. Ändern Sie es in 'R.id.header_logo' –

Antwort

0

Vielleicht, weil Sie das Layout-ID von Toolbar zu ImageView

rufen Versuchen Ändern

ImageView im = (ImageView)findViewById(R.id.toolbar_layout); 
im.setBitmap(image_here); 

zu

ImageView im = (ImageView)findViewById(R.id.header_logo); 
im.setBitmap(image_here); 
Verwandte Themen