2017-11-01 7 views
0

私はRecyclerViewadapterを使用しています。 これはこの連絡先リストに似ています。グライドライブラリを使用して、画像をカスタムポップアップに表示

私がリストをクリックした場合は、各連絡先のポップアップダイアログを表示します。

adapter

Popup popup = new Popup(mContext); 
final ImageView popupImv =(ImageView) popup.findViewById(R.id.imageView_custom); 

Glide.with(mContext).load(photoUri) 
    .signature(new StringSignature(Long.toString(System.currentTimeMillis())))   
    .bitmapTransform(new CropCircleTransformation(mContext)) 
    .into(popupImv); 

しかし、エラーショー

java.lang.IllegalArgumentExceptionが:あなたがnull以外のビュー

どのように行うことができますに渡す必要がありますか?

+0

popupImv is null(R.id.imageView_custom)が正しいことを確認してください。 –

答えて

1

"popupImv"がnullオブジェクトであるため、表示されるエラーは単純です。その結果、 "Glide"を使用すると、このエラーが発生します。

ポップアップの代わりにAlertDialogを使用することをお勧めします。このようなもの:

AlertDialog.Builder popupDialogBuilder = new AlertDialog.Builder(this); 
ImageView popupImv = new ImageView(this); 
Glide.with(mContext).load(photoUri) 
       .signature(new StringSignature(Long.toString(System.currentTimeMillis()))) 
       .bitmapTransform(new CropCircleTransformation(mContext)) 
       .into(popupImv); 
popupDialogBuilder.setView(popupImv); 
AlertDialog alertDialog = popupDialogBuilder.create(); 
alertDialogBuilder.show(); 
+0

私はコードをテストしませんでしたが、それはうまくいくはずです。 –

+0

私はそれを解決しました。 Imageviewを使用しないでください。私はURIを使う – clustervely