Android 从ImageAdapter获取图像id

Android 从ImageAdapter获取图像id,android,image,gridview,imageview,Android,Image,Gridview,Imageview,我是android新手,我有一个制作图像网格视图的项目,点击显示的图像,这就是ImageAdapter类代码 public class ImageAdapter extends BaseAdapter{ private static LayoutInflater inflater = null; private Activity activity; private String mode = ""; int[] images=null ; publ

我是android新手,我有一个制作图像网格视图的项目,点击显示的图像,这就是ImageAdapter类代码

public class ImageAdapter extends BaseAdapter{

    private static LayoutInflater inflater = null;
    private Activity activity;

    private String mode = "";

    int[] images=null ;

    public ImageAdapter(Activity act, String mode , int[] images){
        inflater = (LayoutInflater) act.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        activity = act;
        this.mode = mode;
        this.images= images ;
    }

    public ImageView getImage(int pos)
    {
        ImageView im = (ImageView) getItem(pos);
        return im ;
    }


    @Override
    public int getCount() {
        return images.length;
    }

    @Override
    public Object getItem(int position) {
        return new Integer(images[position]);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        if(mode.equalsIgnoreCase("grid")){
            if (view == null) {
                view = inflater.inflate(R.layout.each_image1, null);
            }
            ImageView iv = (ImageView)view.findViewById(R.id.imageView);
            iv.setImageResource(images[position]);
        } else if(mode.equalsIgnoreCase("gallery")){
            if (view == null) {
                view = inflater.inflate(R.layout.each_image_gallery, null);
            }
            ImageView iv = (ImageView)view.findViewById(R.id.imageView);
            iv.setImageResource(images[position]);
        }
        return view;
    }

}
这是我的网格活动

public class GridActivity extends Activity {


    GridView grid = null;
    public static ImageAdapter adapter1 ;
    public static ImageAdapter adapter2 ;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.grid);
        adapter1= new ImageAdapter(GridActivity.this, "grid" , Images.images1);
        adapter2 = new ImageAdapter(GridActivity.this, "grid" , Images.images2);

          Intent i = this.getIntent();
        if (i!=null)
        {
        String unique = i.getExtras().getString("Unique");
        if (unique.equals("islam"))

                {
        Toast.makeText(GridActivity.this, "islam", Toast.LENGTH_LONG).show();


        grid = (GridView)findViewById(R.id.gridView1);
        grid.setAdapter(adapter1);

                }
        if (unique.equals("natural"))   
        {
            Toast.makeText(GridActivity.this, "nat", Toast.LENGTH_LONG).show();


             grid = (GridView)findViewById(R.id.gridView1);
             grid.setAdapter(adapter2);
        }

        }

        grid.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int pos,long id) {
                Intent i = new Intent(GridActivity.this, imgPrevActivity.class);
                i.putExtra("selectedIntex", pos);
                startActivity(i);

                Toast.makeText(GridActivity.this,"ddd",Toast.LENGTH_LONG).show();


            }
        });
    }
}
我试着从网格中获取点击图像的位置 然后从该位置获取Id 并将图像视图设置为该ID

但是它不起作用

这就是图像被放入数组的地方

public class Images {

    public static int[] images1 = {
        R.drawable.buds, R.drawable.cherry_34,
        R.drawable.clouds_2, R.drawable.coffee_beans_2,
        R.drawable.death_valley_sand_dunes
        };

    public static int[] images2= {
        R.drawable.morning_glory_pool,
        R.drawable.pink_flowers, R.drawable.sun_flower,
        R.drawable.sunrise_3, R.drawable.yellow_rose_3,



    };





}

您必须有目的地传递图像资源id。适配器的列表项id无效,因为屏幕上有新活动

grid.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int pos,long id) {
            Intent i = new Intent(GridActivity.this, imgPrevActivity.class);
            i.putExtra("selectedIntex", grid.getAdapter().getItem(pos);
            startActivity(i);

            Toast.makeText(GridActivity.this,"ddd",Toast.LENGTH_LONG).show();


        }
    });
}


我认为它应该起作用

你说的什么意思,但它不起作用!!任何错误???@Tanimreja都不会显示任何内容。。空白活动
grid.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int pos,long id) {
            Intent i = new Intent(GridActivity.this, imgPrevActivity.class);
            i.putExtra("selectedIntex", grid.getAdapter().getItem(pos);
            startActivity(i);

            Toast.makeText(GridActivity.this,"ddd",Toast.LENGTH_LONG).show();


        }
    });
public class imgPrevActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.each_image1);
    ImageView im = (ImageView)findViewById(R.id.imageView);
    int pos = getIntent().getIntExtra("selectedIntex", 0);
    im.setImageResource(pos);
}