我正在研究gridview但是当我使用所有可绘制的图像在gridview中显示时。我出现内存错误。很明显。现在我正在寻找变通条件。我正在从android hive示例中获取帮助。我想在缩略图中显示网格图像,然后单击该图像,我想将其索引发送到新活动。在新的活动中,我有新的drawables数组,我想根据我从之前的活动中获得的索引值来设置图像。
FullImage活动 -
public class FullImageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image);
// get intent data
Intent i = getIntent();
// Selected image id
int position = i.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
}
}
这里我想在上面的代码中分配新图像 -
imageView.setImageResource(imageAdapter.mThumbIds[position]);
我希望包含在上面代码中的新图像数组 -
public Integer[] nImages = {
R.drawable.kri1, R.drawable.kri2,
R.drawable.kri3, R.drawable.kri4,
R.drawable.kri5, R.drawable.kri6,
R.drawable.kri7, R.drawable.kri8,
R.drawable.kri9
};
编辑 -
Gridview显示要显示的mThumbIds图像。点击我要显示完整图像的任何图像所以我将索引传递给完整大小的活动。现在我想使用我在此活动中创建的新数组nImages中的索引和图像。因此,从之前的活动开始的索引值和从完整尺寸活动开始的新图像。
请帮帮我。
答案 0 :(得分:1)
当你点击格子时,获取位置,将该位置放在exrta中,如:
intent.putExtra("imageResourceID", nImages[position]);
mContext.startActivity(intent);
在像
这样的fullimage活动中获取intint position = getIntent().getIntExtra("imageResourceID", 0);
现在从新阵列中,nImages将这个位置传递给新阵容
nImages[position]
并获取该图像资源并在图像视图资源中设置
答案 1 :(得分:0)
我假设您要向您的完整图片活动发送position
值,而不是发送图片资源ID。
例如:
intent.putExtra("imageResourceID", nImages[position]);
mContext.startActivity(intent);
在完整的图像活动中,获取图像资源ID并使用image.setImageResource()
以简单的方式显示它。