如何在Android活动之间传递jpg id

时间:2013-03-04 12:29:41

标签: android imageview drawable

我在一个Activity中有一个带有imageViews的gridView,我想在选择它时在新的ImageView上加载其中一个活动,但我没有结果

活动1:

public class Level extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.level);

    GridView gridview = (GridView) findViewById(R.id.gridviewLevel);
    ImageAdapter ia = new ImageAdapter(this);
    gridview.setAdapter(ia);

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(Level.this, "" + position, Toast.LENGTH_SHORT).show();
            initImageCheck( v.getId());
        }
    });
}

public void initImageCheck(int id){
    Intent intentIC = new Intent(this, ImageCheck.class);
    intentIC.putExtra("ID", id);
    startActivity(intentIC);
}

}

活动2:

public class ImageCheck extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.image_check);

    Bundle extras = getIntent().getExtras();
    int id = extras.getInt("ID");

    ImageView imgView = (ImageView) findViewById(R.id.imageViewCheck);

    imgView.setImageResource(id);
}

}

问题是什么?谢谢。

1 个答案:

答案 0 :(得分:2)

v.getId()是视图的ID,而不是图像资源的ID。

ImageAdapter同时保留每个项目使用的资源ID,并提供getResourceIdForItem(int position)等方法。