0

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

活动一:

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);
}

}

活动二:

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);
}

}

有什么问题???谢谢。

4

1 回答 1

2

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

ImageAdapter保存了每个项目使用的资源的 id,并提供了一个方法,如getResourceIdForItem(int position).

于 2013-03-04T12:33:17.380 回答