Модифицируйте Ленивый адаптер, чтобы получить определенное Изображение
Я получаю изображение с удаленного сервера, используя 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);