![](/img/trans.png)
[英]Picasso: java.lang.IllegalArgumentException: Target must not be null
[英]Picasso Target Null Error for URL file downloading. Java
我正在嘗試使用適用於Android Studio Java的Picasso API從URL下載圖像。 單擊浮動操作欄,並顯示一個警報對話框,其中包含URL中的圖像。
我嘗試了以下操作: Picasso Target不能為null error 。 但是我的錯誤仍然在發生。
這是我當前正在使用的代碼:
FloatingActionButton FabViewImage = (FloatingActionButton) findViewById(R.id.fabPicture);
if (FabViewImage != null)
FabViewImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Dialog settingsDialog = new Dialog(TabEmpOrder.this);
settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
settingsDialog.setContentView(getLayoutInflater().inflate(R.layout.order_detail_image_view, null));
Context context = settingsDialog.getContext();
settingsDialog.show();
ImageView imgView = (ImageView) findViewById(R.id.imgOrderDetails);
Picasso.with(context).load("http://i.imgur.com/Tnendik.png").into(imgView);
}
});
這是它顯示的錯誤消息
08-23 09:54:06.351 25488-25488/dura_art.bigbyte E/AndroidRuntime: FATAL EXCEPTION: main
Process: dura_art.bigbyte, PID: 25488
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 dura_art.bigbyte.TabEmpOrder$1.onClick(TabEmpOrder.java:99)//This is where it breaks
at android.view.View.performClick(View.java:5697)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
我哪里做錯了? 我該如何解決?
做這個
View v = getLayoutInflater().inflate(R.layout.order_detail_image_view, null);
settingsDialog.setContentView(v);
Context context = settingsDialog.getContext();
settingsDialog.show();
ImageView imgView = (ImageView) v.findViewById(R.id.imgOrderDetails);
Picasso.with(context).load("http://i.imgur.com/Tnendik.png").into(imgView);
您必須從用於AlertDialog
的布局中獲取ImageView
,因此請嘗試以下代碼:
@Override
public void onClick(View view) {
Dialog settingsDialog = new Dialog(TabEmpOrder.this);
settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
View layout = getLayoutInflater().inflate(R.layout.order_detail_image_view;
ImageView imgView = (ImageView) layout.findViewById(R.id.imgOrderDetails);
settingsDialog.setContentView(layout, null));
Context context = settingsDialog.getContext();
settingsDialog.show();
Picasso.with(context).load("http://i.imgur.com/Tnendik.png").into(imgView);
}
在傳遞給picasso
時,此處的ImageView
為null
,但現在不會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.