Сохранить изображение в GridView выделенным - PullRequest
0 голосов
/ 05 октября 2011

Что я сделал:


Привет, ребята, У меня есть GrindView, который я заполнил над своей базой данных. Теперь изображения появляются там и прокручиваются. Но когда я нажимаю на него, они не остаются выделенными. Чтобы увидеть, какое изображение выбрано, я построил Toastmessage, который показывает мне, какое изображение я щелкнул с помощью onIemClickListner.

Вопрос:


Я хотел бы разрешить выбранное изображение. Так что вы нажимаете на время на изображение в GridView, а затем оно остается выбранным. Как я могу это понять? Я был бы рад, если есть учебник или пример кода, чтобы посмотреть, как он работает.

Код


Это то, что я пытался сделать, чтобы только фактическое изображение оставалось выделенным цветами, но оно не работает должным образом, иногда оно просто меняется.

//Hier wird gemerkt welches bild
        gridview.setOnItemClickListener(new OnItemClickListener() {

        boolean color = false;
            View old;
            View v;

            public void onItemClick(AdapterView<?> parent, View vv, int position, long id) {
                Toast.makeText(SFilterConfigActivity.this, "" + position, Toast.LENGTH_SHORT).show();

                v = vv;

                //gridview.setSelection(position);

               if (color == false){
                v.setBackgroundColor(0xFF00FF00);
                old = v;
                color = true;

               }

               else {
                   old.setBackgroundColor(0x00000000);
                   v.setBackgroundColor(0xFF00FF00);

                   color = false;

               }
            }
        });

Заранее благодарю

сафари

Ответы [ 2 ]

1 голос
/ 05 октября 2011

После вызова setAdapter ()

сделай так

setSelection (setSelected, true)

0 голосов
/ 20 ноября 2016

Ниже приведен рабочий код.

            if (color == false){
                vv.setBackgroundColor(getResources().getColor(R.color.green));
                old = vv;
                color = true;
            } else {
                old.setBackgroundColor(getResources().getColor(R.color.white));
                vv.setBackgroundColor(getResources().getColor(R.color.green));
                old=vv;
            }
...