如何处理Gallery android中的位置?

时间:2011-02-10 14:23:17

标签: android image-gallery

如何处理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主题但没有用。如果图库从左到右滚动形式,请告诉我如何保持图像位置。如果我逐个选择它工作正常。但是当我选择时替代的形象。它不起作用。

1 个答案:

答案 0 :(得分:2)

在您的活动中创建一个成员变量,例如View lastSelected,以便在选择/点击视图时存储该视图。选择/点击新项目后,使用lastSelected更改背景,然后使用新选择的视图更新lastSelected

希望有所帮助。