Метод getView () для android listview не выполняет те же обновления, что и метод onListItemClick () для цвета фона - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь обновить цвет фона элемента списка, когда он выбран, и сохранить изменения, даже если вид меняется.Мое обновление работает, как и ожидалось, когда я нажимаю на элемент, но не могу получить его, чтобы сохранить изменения, если я покидаю представление.Я думал, что такое же обновление в методе getView () даст мне то, что мне нужно, но, похоже, оно не работает.Есть предложения?

       public class MyScaAdapter extends SimpleCursorAdapter {

    public MyScaAdapter(Context context, int layout, Cursor c,
            String[] from, int[] to) {
        super(context, layout, c, from, to);
    }
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = super.getView(position, convertView, parent);

                if (convertView == null & position == selectedPos) {
                    v.setSelected(true);
                    v.setBackgroundColor(android.R.color.background_light);
                }        
                return v;
             }  
         }

    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);

       v.setSelected(true);
       v.setBackgroundColor(android.R.color.background_light);  


        selectedPos = position;

    }

1 Ответ

0 голосов
/ 05 мая 2011

Сохранение глобальной ссылки на представление, чтобы можно было установить цвет фона в методе onResume().

...