2016-08-23 3 views
6

relativelayoutを使用してイメージを設定しています。イメージビューを使用していなかった理由は、relativelayoutイメージ内にアイコンを設定しています。グライドを使ってrelativelayoutイメージ内の破壊されたアクティビティの読み込みを開始することはできません

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); 

} 
私は正確にglide.Iで問題がスタックトレースと、以下の関連するコードを掲載しているが何であるかを知らない

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> 

答えて

11

用途:

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

の代わりに:

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

が、それはあなたの問題を解決することを願っています〜

+0

(ディスクリプタ)。 – dazza5000

1

私は数日前に同じ問題が発生しました。私はこれを解決して、現在のクラスコンテキストメモリの代わりにアプリケーションコンテキストメモリを渡しました。でも、あなたがこの問題を得ている、その後のための概要 "https://github.com/bumptech/glide/issues/1097"

を、この記事をよくお読みにこのコード

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

使用 - :

は、それはあなたを助けるかもしれませこの問題:Glideライブラリの問題です。

+0

断片であればどうしたらいいですか? – Abhishek

+0

getActivity()。getApplicationContext(); @アビシェク – Shadow

1

私の場合、mireferはStorageReferenceですが、miimagenはImageViewです。私はこの問題を解決しました。それがあなたを助けてくれることを願っている Glide.with(context.getApplicationContext()) .using(新FirebaseImageLoader()) .LOAD(storageReference) .signature(新StringSignature(:ものApplicationContextを取得し、使用してこれを固定

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