Как обрабатывать позиции в галерее Android? - PullRequest
0 голосов
/ 10 февраля 2011

Как обрабатывать позиции в Галерее. Мне нужно изменить фон изображения в положении черепа. Я могу успешно изменить фоновое изображение выбранного изображения в методе 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 Ответ

2 голосов
/ 10 февраля 2011

Создайте переменную-член, например, View lastSelected в своей деятельности, чтобы сохранить представление, когда оно было выбрано / щелкнуто. Когда новый элемент выбран / нажат, используйте lastSelected, чтобы изменить фон, а затем обновите lastSelected новым выбранным видом.

Надеюсь, это поможет.

...