// once complete, see if ImageView is still around and set up bitmap @Override protected void onPostExecute(FileLoader fileLoader) { super.onPostExecute(fileLoader); if (isCancelled()) { fileLoader = null; } if (hostFragmentReference != null) { final ViewerFragment hostFragment = hostFragmentReference.get(); if (hostFragment != null) { if (fileLoader != null) { hostFragment.mFileLoader = fileLoader; Toast.makeText( hostFragment.getActivity(), "Found " + fileLoader.getNumberOfPages() + " pages", Toast.LENGTH_SHORT) .show(); } else { hostFragment.mFileLoader = null; if (err != null) { Savelog.e(TAG, "Cannot fetch pdf" + "\n" + Savelog.getStack(err)); } Toast.makeText(hostFragment.getActivity(), "Data unavailable", Toast.LENGTH_SHORT) .show(); } // Callback upon finished fetching. hostFragment.onFetchingCompleted(); // Detach host fragment from this task. hostFragment.mFetcherTask = null; } } Savelog.d(TAG, debug, "AsyncTask completed."); }
public void onFetchingCompleted() { mLoadingView.setVisibility(View.GONE); mListView.setVisibility(View.VISIBLE); mListView.setAlpha(1f); if (mFileLoader != null) { Savelog.d(TAG, debug, "bitmap page length = " + mFileLoader.getNumberOfPages()); if (mBitmapListAdapter == null) { // Don't reset adapter if already exists mBitmapListAdapter = new BitmapListAdapter(this, mFileLoader.getPageNames()); } mListView.setAdapter(mBitmapListAdapter); mListView.setRecyclerListener( new RecyclerListener() { @Override public void onMovedToScrapHeap(View view) { final ImageView imageView = (ImageView) view.findViewById(R.id.listItem_bitmap_id); Savelog.d(TAG, debug, "Called recycler."); imageView.setImageBitmap(null); imageView.setTag(null); } }); } }