我正在尝试获取已加载图像的位置,所以当我在GridView中单击它时,它会全屏显示它。
问题是我不知道如何从我的适配器获取我的图像的位置!
我需要设置imageResurce .. imageView.setImageResource(MyAdapter.getItem(position));
这是错误的。我仍然无法找到我加载图像的位置......
我的适配器代码:
public class ImageAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public ArrayList<String> f = new ArrayList<String>();// list of file paths
File[] listFile;
Bitmap myBitmap;
int position;
public ImageAdapter(Context context) {
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return f.size();
}
public Object getItem(int position) {
return f.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(
R.layout.galleryitem, null);
holder.imageview = (ImageView) convertView.findViewById(R.id.thumbImage);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
myBitmap = BitmapFactory.decodeFile(f.get(position));
holder.imageview.setImageBitmap(myBitmap);
return convertView;
}
public void getFromSdcard()
{
File file= new File(android.os.Environment.getExternalStorageDirectory(),"/InstaDownloader-");
if (file.isDirectory())
{
listFile = file.listFiles();
for (int i = 0; i < listFile.length; i++)
{
f.add(listFile[i].getAbsolutePath());
}
}
}
}
class ViewHolder {
ImageView imageview;
}
答案 0 :(得分:1)
您只需要设置一个OnItemClickListener并将其分配给您的GridView。它将为您提供所选项目的位置。
OnItemClickListener myOnItemClickListener = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//Do what you need here, you have the position.
}};
然后在代码中的某处确保将其分配给GridView。
mGridview.setOnItemClickListener(myOnItemClickListener);
祝你好运!
答案 1 :(得分:0)
MyAdapter.getItem(position)
没问题。还有什么?为什么这会错?你没有说出来。请告诉值(确切的路径是什么)?如果它确实是一个文件路径,则不能使用setImageResource()
,因为它不会来自资源。所以使用像loadImageFromFile()这样的东西(如果存在的话)。如果不存在,请使用BitmapFactory从文件加载并分配位图。
您帖子的标题非常混乱而且不重要。你已经知道&#39;位置&#39;你知道如何正确的道路。您唯一不知道的是如何将图像从文件加载到ImageView中。但现在你知道了。如果你需要代码..只需谷歌这个网站,因为这样的代码已经在这里发布了很多次。