resueltos relativa reglas quirales quimica que prelog llamamos ingold fischer ejercicios consiste configuraciĆ³n configuracion compuestos carbono cahn absoluta android android-glide

android - relativa - reglas de cahn ingold prelog



No se puede iniciar una carga para una actividad destruida en la imagen de la configuraciĆ³n relativa usando glide (4)

Intente esto antes de cargar su imagen con Glide, en mi caso mirefer es una StorageReference, miimagen es un ImageView. Resolví este problema, con esto. Espero que te pueda ayudar.

if (!this.isFinishing ()) { // Load the image using Glide Glide.with(YourActivity.this) .using(new FirebaseImageLoader()) .load(mirefer) .into(miimagen); }

Estoy utilizando la configuración relativa para establecer una imagen. Por qué no había utilizado los medios de visualización de imagen, dentro de la imagen relativa de la configuración, estoy configurando los iconos.

No sé cuál es el problema exactamente en planeo. He publicado el seguimiento de pila y el código relevante a continuación:

Logcat:

FATAL EXCEPTION: main Process: com.app.steve, PID: 15928 java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134) at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102) at com.bumptech.glide.Glide.with(Glide.java:644) at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:1050) at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:885) at android.os.AsyncTask.finish(AsyncTask.java:632) at android.os.AsyncTask.access$600(AsyncTask.java:177) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

TabMorePagesDetailActivity.java:

RelativeLayout rlPageCoverImg; rlPageCoverImg = (RelativeLayout)findViewById(R.id.rl_club_cover_img); @Override protected void onPostExecute(String response) { super.onPostExecute(response); dialog.dismiss(); ............ String coverIMGurl = cover_avatar_obj.getString("url"); Log.e("ImgURL", coverIMGurl); Glide.with(TabMorePagesDetailActivity.this).load(coverIMGurl).asBitmap().signature(new StringSignature(String.valueOf(System.currentTimeMillis()))) .into(new SimpleTarget<Bitmap>(500, 500) { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { Drawable drawable = new BitmapDrawable(getResources(), resource); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { rlPageCoverImg.setBackground(drawable); } } }); }else { rlPageCoverImg.setBackgroundResource(R.drawable.bg_golive); } @Override protected void onDestroy() { super.onDestroy(); Glide.clear(rlPageCoverImg); }

layout.xml:

<RelativeLayout android:id="@+id/rl_club_cover_img" android:layout_width="match_parent" android:layout_height="200dp" android:background="@drawable/cancel_image" > // Inside this relativelayout image, I''m using buttons and icons </RelativeLayout>


Simplemente puede comprobar que el contexto se destruye o no manualmente como;

if (context == null) { return } else if (context !is Application) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { if (context is FragmentActivity) { if ((context as FragmentActivity).isDestroyed) { return } } else if (context is Activity) { if ((context as Activity).isDestroyed) { return } } } }

Esto también se puede representar como una función de extensión de Kotlin:

/** * Return true if this [Context] is available. * Availability is defined as the following: * + [Context] is not null * + [Context] is not destroyed (tested with [FragmentActivity.isDestroyed] or [Activity.isDestroyed]) */ fun Context?.isAvailable(): Boolean { if (this == null) { return false } else if (this !is Application) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { if (this is FragmentActivity) { return !this.isDestroyed } else if (this is Activity) { return !this.isDestroyed } } } return true }


Tengo el mismo problema antes de unos pocos días. Resolví esto para pasar la memoria de contexto de la aplicación en nombre de la memoria de contexto de la clase actual.

Puede ser que te ayude a:

usa este código

Glide.with(getApplicationContext()) .load(coverIMGurl) .asBitmap() .signature(new StringSignature(String.valueOf(System.currentTimeMillis()))) .into(new SimpleTarget<Bitmap>(500, 500) {....}

Incluso si está teniendo este problema, lea este artículo detenidamente " https://github.com/bumptech/glide/issues/1097 "

descripción general de este problema: este es un problema de la biblioteca Glide.


Utilizar:

Glide.with(getApplicationContext()).load(...)

En lugar de:

Glide.with(TabMorePagesDetailActivity.this).load(...)

Espero que resuelva tu problema ~