2015-09-15 3 views
0

У меня есть listView с именами людей. Когда я нажимал имя, я меняю цвет имени. но когда я снова создаю действие, я теряю цвета элементов. Кто-нибудь может мне помочь?Как сохранить цвет элемента из ListView?

obs: Я использую простой ArrayAdapter для своего спискаView.

+0

Почему бы не сохранить цвет в «Карте», используя цвет и позицию списка, и сохраните «Карта» в «SharedPreferences»? –

+0

У вас есть тот же пример? потому что, используя только sharedPreferences, я этого не понял! – daniel12345smith

+0

, вы используете View для хранения значения Модели. Вам нужно начать с перемещения понятия элемента, выбранного в вашей модели товара. – njzk2

ответ

1

Вместо onSaveInstance() попробуйте это.

View lastTouchedView; 

@Override 
public void onListItemClick(ListView parent, View v, int position, long id) 
lastTouchedView.setBackgroundColor(Color.WHITE); 
v.setBackgroundColor(Color.CYAN); 
lastTouchedView = v; 
} 
0

В вашей деятельности или фрагменте вы можете переопределить onSaveInstanceState и onRestoreInstanceState. В onSaveInstanceState вам будет передан пакет, который вы можете использовать для сохранения значения цвета. Затем в onRestoreInstanceState вам будет передан пакет, содержащий значение цвета. Извлеките значение цвета и установите его как цвет.

protected void onSaveInstanceState(Bundle outState) { 
    // color values are usually int, but there are many other put methods 
    // for a bundle so if the color is in a different form there are 
    // other options 
    outState.putInt("color", theColorValue); 
    super.onSaveInstanceState(outState); 
} 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    // set the name color using savedInstanceState.getInt("color"); 
} 

Как было предложено @ inner_class7 вы также можете использовать SharedPreferences по телефону getSharedPreferences("someName", Context.MODE_PRIVATE). См. http://developer.android.com/guide/topics/data/data-storage.html и http://developer.android.com/reference/android/content/SharedPreferences.html для получения дополнительных сведений об использовании SharedPreferences.

0

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

Я создал сущность here

Это показывает:

  1. использования простой модели с каким-то текстом, и выбранный логический

  2. Выбор и пункт, чтобы изменить его фон, и сохранить, что на свитке

  3. экономии от выбранного положения элементов с помощью SharedPreferences

  4. Использования BaseAdapter класса для элементов пользовательских строк

Смежные вопросы