Как .getResources () на AsyncTask? - PullRequest
0 голосов
/ 03 июля 2019

Я создаю AsyncTask, и мне нужно передать несколько изображений в несколько ImageView контейнеров.

Я пытаюсь создать отдельного findViewById как "img" + position (целое число, которое меняется для каждого изображения), но мой getResources() не работает.

Я пытался передать контекст своему AsyncTask, когда я его создаю, но он выдает ту же ошибку.

Основная деятельность

while(i<20) {

            for(String imgURL : imagePaths) {

                new ImageDownloader(new WeakReference<AppCompatActivity>(this),i,getApplicationContext()).execute(imgURL,fpath);
                i++;
            }

        }

AsyncTask

public class ImageDownloader extends AsyncTask<String, Integer, Bitmap> {

    int position;

    private WeakReference<AppCompatActivity> caller;

    private final Context contextRef;


    public ImageDownloader(WeakReference<AppCompatActivity> caller, Integer position, final Context context) {
        this.caller = caller;
        this.position = position;
        this.contextRef = context;
    }

 @Override
    protected void onPostExecute(Bitmap bitmap) {
        AppCompatActivity activity = caller.get();

        Context context = contextRef;
        if (context != null) {
            int place = context.getResources().getIdentifier("img" + position, "id", context.getPackageName());
            ImageView imageView  = activity.findViewById(place);
            imageView.setImageBitmap(bitmap);
        }

Не удается получить компиляцию, ошибка:

не может найти символ статического getResources

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...