0

1 つのアクティビティに imageViews を含む gridView があり、選択時に新しい ImageView の他のアクティビティにそれらの 1 つをロードしたいのですが、結果がありません

アクティビティ 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);
}

}

どうしたの???ありがとう。

4

1 に答える 1

2

v.getId()画像リソースではなく、ビューの ID です。

アイテムImageAdapterごとに使用されるリソースの ID も保持し、 のようなメソッドも提供しますgetResourceIdForItem(int position)

于 2013-03-04T12:33:17.380 に答える