Модифицируйте Ленивый адаптер, чтобы получить определенное Изображение

Я получаю изображение с удаленного сервера, используя LazyList в виде сетки. Я пытаюсь изменить вид сетки на интерактивный вид сетки, который позволяет просматривать загруженное изображение в полноэкранном режиме с определенной позицией. Изображения кэшируются на SD-карте и в памяти с помощью LazyList. Я хотел получить изображение по позиции URL

Вот мой код, но я до сих пор не получаю его. Любая помощь будет принята с благодарностью!

это мой OnItemClicklistener в виде сетки

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
     // Sending image position to FullScreenActivity
         Intent i = new Intent(getActivity(), FullImageActivity.class);
         // passing array index
         i.putExtra("string", pathA);
         i.putExtra("position", position);
         startActivity(i);
}

Вот то, что я называю, чтобы получить конкретное изображение для просмотра в полноэкранном режиме. Я не очень понимаю, как вызвать изображение с позиции, используя тот же адаптер

    // get intent data
    Intent i = getIntent();

    // Selected image position
    int position = i.getExtras().getInt("id");
    String[] d = i.getStringArrayExtra("string");
    LazyAdapter imageAdapter = new LazyAdapter(this, d);

    ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
    imageView.setImageResource(imageAdapter.d[position]);

Вот часть моего адаптера, который я использовал публичный класс LazyAdapter extends BaseAdapter {

    private Activity activity;
    public String[] data;
    private static LayoutInflater inflater=null;
    public ImageLoader imageLoader; 

    public LazyAdapter(Activity a, String[] d) {
        activity = a;
        data=d;
        inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    public int getCount() {
        return data.length;
    }

    public Object getItem(int position) {
        return position;
    }
    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.item, null);

        ImageView image=(ImageView)vi.findViewById(R.id.image);
        imageLoader.DisplayImage(data[position], image);
        return vi;
    }
}

1 ответ

Решение

После множества попыток я наконец заставил его работать, надеюсь, что это поможет другим

В полноэкранном режиме

    // get intent data
    Intent i = getIntent();

    // Selected image url with position
    int position = i.getExtras().getInt("position");
    String[] d = i.getStringArrayExtra("string");
    ImageLoader imageLoader = new ImageLoader(getApplication());
    ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
    imageLoader.DisplayImage(d[position], imageView);
Другие вопросы по тегам