ich das navigationView Layout für meine Navigationsleiste bin mit wie unten dargestellt:Platzieren ein großes Bild in ein Imageview mit picasso
activity_main.xml:
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/nav_menu"
app:headerLayout="@layout/nav_drawer_header_layout"
android:background="@color/colour8"/>
Wie man dort sehen kann, ist ein Header-Layout angewendet (nav_drawer_header_layout), innerhalb dieses Layouts gibt es eine Bildansicht, die ich versuche, ein großes Bild zu platzieren.
MainActivity.java:
//Initailise the navigation view
NavigationView navView = (NavigationView)findViewById(R.id.navigation_view);
//Cast the imageView holder that the large is placed in
ImageView header = (ImageView)findViewById(R.id.header_navigation_drawer_header_image);
//Dimensions
int imageViewWidth = header.getWidth();
int imageViewHeight = header.getHeight();
//Scale image into header with picasso
Picasso.with(this).load(R.drawable.food)
.fit()
.centerCrop()
.resize(imageViewWidth,imageViewHeight)
.into(header);
Dann habe ich die folgende logcat Fehler:
dRuntime: FATAL EXCEPTION: main
Process: com.example.nazim.kmapp, PID: 18538
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.nazim.kmapp/com.example.nazim.kmapp.MainActivity}: java.lang.IllegalArgumentException: Target must not be null.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5219)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
Caused by: java.lang.IllegalArgumentException: Target must not be null.
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:618)
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:601)
at com.example.nazim.kmapp.MainActivity.onCreate(MainActivity.java:216)
at android.app.Activity.performCreate(Activity.java:5976)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5219)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
Das Problem mit dem Imageview zu sein scheint, ist null,
Lösung mit Erklärung wird sehr geschätzt .... Vielen Dank für Ihre Hilfe im Voraus !!!!
Arbeitete das Problem aus, aufgebläht die Header-Ansicht mit getLayoutInFlater(), dann Anfügen von Ansicht in der Navigationsansicht als einer der Parameter. – Richi