在 OnItemClickListener 中,您应该添加您想要启动一个新活动,并通过 putExtra 将图像的位置传递给它:
gridView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent,
View v, int position, long id)
{
Toast.makeText(getBaseContext(),
"pic" + (position + 1) + " selected",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Gallery.this,FullImage.class);
intent.putExtra("imgPos",position);
Gallery.this.startActivity(intent);
}
});
正如您在意图中看到的,您调用了一个 FullImage 类,您应该创建该类:
public class FullImage extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image);
int position = getIntent().getExtras().getInt("imgPos");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(Gallery.imageIDs[position]);
}
}
这就是 full_image 布局的样子,请注意,它有一个 ID 为 full_image_view 的 ImageView,在 FullImage 类中受到尊重
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView android:id="@+id/full_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
您应该将 ImageID 设为静态 Integer,以便可以在 FullImage 类中引用它。
最后,不要忘记在 AndroidManifest.xml 中添加 FullImage 活动。
这应该可以做到。