Android 为什么每次我选择阵列的任何图像时,查看页面都会显示阵列的最后一个图像?
我所做的是显示一个网格视图,每次我选择一个图像时,它都应该显示为一个全屏活动。。此外,我还添加了浏览页面功能上的滑动屏幕,这样我就可以在图像之间左右切换。。所以我的代码工作得很好,但问题是每次我选择一个图像时,它总是显示图像数组中的最后一个。。它没有显示正确的图像。。为什么会这样 下面是包含网格视图的片段的代码: 公共类WoodenBlinds扩展片段{Android 为什么每次我选择阵列的任何图像时,查看页面都会显示阵列的最后一个图像?,android,arrays,gridview,android-viewpager,Android,Arrays,Gridview,Android Viewpager,我所做的是显示一个网格视图,每次我选择一个图像时,它都应该显示为一个全屏活动。。此外,我还添加了浏览页面功能上的滑动屏幕,这样我就可以在图像之间左右切换。。所以我的代码工作得很好,但问题是每次我选择一个图像时,它总是显示图像数组中的最后一个。。它没有显示正确的图像。。为什么会这样 下面是包含网格视图的片段的代码: 公共类WoodenBlinds扩展片段{ public Integer[] mThumbIds = { R.drawable.wod_1
public Integer[] mThumbIds = {
R.drawable.wod_1, R.drawable.wod_2,
R.drawable.wod_3, R.drawable.wod_4,
R.drawable.wod_5, R.drawable.wod_6,
R.drawable.wod_7, R.drawable.wod_8,
R.drawable.wod_9
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_wooden_blinds, container, false);
GridView gridview = (GridView)view.findViewById(R.id.grid_view);
try{
// Instance of ImageAdapter Class
gridview.setAdapter(new ImageAdapter(getActivity(), mThumbIds));
} catch (OutOfMemoryError E) {
E.printStackTrace();
}
/**
* On Click event for Single Gridview Item
* */
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getActivity(), FullImageActivity2.class);
// passing array index
i.putExtra("id", mThumbIds[position]);
i.putExtra("array", mThumbIds);
Log.d("ID", "" + mThumbIds[position]);
startActivity(i);
}
});
return view;
}
}
因为每次它都会显示最后一个索引..不是正确的索引..当您使用此行读取意图中的数据时,有任何建议吗?:
int position = getIntent().getExtras().getInt("id");
您不读取位置,但读取图像资源id…因为您用以下内容填充意图:
i.putExtra("id", mThumbIds[position]);
所以,你可以试着用
i.putExtra("id", position);
i.putExtra("id", mThumbIds[position]);
i.putExtra("id", position);