Изображение не отображается в просмотре изображений

67
7

В MainActivtiy мы используем Glide для загрузки изображения URL в imgSignature.

При щелчке imgSignature появляется пользовательское диалоговое окно, и оно отображает изображение в imgSign. Наша проблема заключается в том, что когда мы imgSignature в настраиваемом диалоговом окне, изображение внутри imgSignature становится пустым, и в результате bgDrawable null сообщение " bgDrawable null.

Почему изображение в imgSignature исчезнет?

      lateinit var signDialog: Dialog

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

signDialog = Util().dialogSignature(getActivity())

var mSignature = signature(activity, null)
signDialog.relativeLayout2.addView(mSignature)

var image: Bitmap? = null

if (obj?.signature_image?.url != null) {
Glide.with(activity)
.load(obj?.signature_image?.url.toString())
.into(imgSignature)
}

imgSignature.setOnClickListener {
signDialog.show()
if (obj?.signature_image?.url != " ") {
Glide.with(activity)
.load(obj?.signature_image?.url.toString())
.into(signDialog.imgSign);
}
}

signDialog.doneTxt.setOnClickListener {
signDialog.dismiss()
imgSignature.setImageBitmap(getBitmapFromView(mSignature))
}
}

fun getBitmapFromView(view: View): Bitmap {
//Define a bitmap with the same size as the view
val returnedBitmap = Bitmap.createBitmap(250, 250, Bitmap.Config.ARGB_8888)
//Bind a canvas to it
val canvas = Canvas(returnedBitmap)
//Get the view background
val bgDrawable = view.background
if (bgDrawable != null) {
longToast("bgDrawable not null")
//has background drawable, then draw it on the canvas
bgDrawable.draw(canvas)
}
else {
//does not have background drawable, then draw white background on the canvas
canvas.drawColor(Color.WHITE)
// draw the view on the canvas
view.draw(canvas)
longToast("bgDrawable null")
}
//return the bitmap
return returnedBitmap
}
}

Util

 fun dialogSignature(context: Context?):Dialog{

var dialog = Dialog(context)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setContentView(R.layout.dialog_signature)
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);
return dialog
}

dialog_signature

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="230dp"
android:orientation="vertical"
android:background="@android:color/white">

<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content"
android:background="@color/colorPrimaryShadow"
android:orientation="horizontal"
android:id="@+id/linearLayout1"
android:gravity="center"
android:layout_marginBottom="2dp" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/relativeLayout2" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent">

<TextView
android:layout_marginLeft="10dp"
android:layout_weight="0.4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Place Signature"
android:textSize="17sp"
android:layout_gravity="right"/>

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:id="@+id/doneTxt"
android:text="Done"
android:textColor="@color/colorDarkBlue"/>

</LinearLayout>

<RelativeLayout android:layout_width="0dp" android:layout_height="0dp"
android:id="@+id/relativeLayout2"
android:background="@color/colorWhite"
app:layout_constraintTop_toBottomOf="@+id/linearLayout1" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0">

<ImageView android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/imgSign"/>
</RelativeLayout>

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout1"
android:textColor="@color/colorDarkBlue"
android:text="Clear" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" app:layout_constraintHorizontal_bias="1.0"
android:layout_marginBottom="16dp" app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/clearTxt"/>

</android.support.constraint.ConstraintLayout>

спросил(а) 2019-02-03T20:53:00+03:00 1 год, 5 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема