如何处理Gallery中的位置。我需要在特定位置更改图像的背景。我能够在onItemClick方法中成功更改所选图像的背景图像。但是我还需要更改旧的所选背景图像作为未选择的人。
public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {
//previouse selected image
//here sometimes it is changing background of another image(which is not a old selected image)
if(mSelectedItemIndex!=-1 && mSelectedItemIndex!=position){
// Object v =mGallery.getItemAtPosition(mSelectedItemIndex);
// View v =imageAdapter.getDropDownView(mSelectedItemIndex,null,null);
// View v =mGallery.getChildAt(mSelectedItemIndex);
View v = (View)view.getChildAt(mSelectedItemIndex);
ImageView imgView = (ImageView) v.findViewById(R.id.adsimage);
// ImageView imgView = (ImageView)v;
// ImageView imgView = (ImageView)arg0.findViewById(R.id.adsimage);
imgView.setBackgroundResource(R.drawable.gallery_unselected_default);
//current selected image
//always this code is working fine.
ImageView imgView = (ImageView)view.findViewById(R.id.adsimage);
imgView.setBackgroundResource(R.drawable.gallery_selected_focused);
}
我在基本适配器中使用了getItemBackground主题但没有用。如果图库从左到右滚动形式,请告诉我如何保持图像位置。如果我逐个选择它工作正常。但是当我选择时替代的形象。它不起作用。
答案 0 :(得分:2)
在您的活动中创建一个成员变量,例如View lastSelected
,以便在选择/点击视图时存储该视图。选择/点击新项目后,使用lastSelected
更改背景,然后使用新选择的视图更新lastSelected
。
希望有所帮助。