Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
#1

Окно настроек. ListPreference - Программирование Android

24.09.2013, 19:18. Просмотров 1213. Ответов 8
Метки нет (Все метки)

В окне настроек вывожу чекбоксы с одиночным выбором (кружки):

XML
1
2
3
4
5
6
7
<ListPreference
android:defaultValue="1"
android:entries="@array/listArray"
android:entryValues="@array/listValues"
android:key="SourceData"
android:summary="@string/SourceData_summary"
android:title="@string/SourceData" />
Массив вариантов:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string-array name="listArray">
        <item>FTP-сервер</item>
        <item>SD-карта</item>
    </string-array>
    <string-array name="listValues">
        <item>1</item>
        <item>2</item>
    </string-array>
 
</resources>
Пытаюсь установить в истину первый элемент по-умолчанию (android:defaultValue="1"), но всё равно оба элемента не заполнены, если их еще не записывали.
Можно ли исправить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 19:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Окно настроек. ListPreference (Программирование Android):

Получить значение ListPreference из настроек - Программирование Android
Как обратиться к классу настроек из одного класса и узнать оттуда значение ListPreference и выполнить нужное по выбранному? Ну у меня...

ListPreference - Программирование Android
Какой есть обработчик для itemов ListPreference? То есть что бы можно было обрабатывать нажатия на item?

Прочитать значение настройки из ListPreference - Программирование Android
Есть настройка: &lt;ListPreference android:defaultValue=&quot;1&quot; android:entries=&quot;@array/LoadDataArray&quot; ...

Хранение настроек - Программирование Android
При запуске приложения запускается Activity с 2 Spinner, и в них нужно выбрать значения. После нажатия кнопки эти значения нужно сохранить...

Изменение настроек - Программирование Android
После установки программы SwipePad захотелось, чтобы прямо из неё можно было быстро включить/выключить звук, WiFi, bluetooth и так далее....

Защита настроек от пользователя - Программирование Android
Здравствуйте, подскажите как вы скрываете настройки от пользователя? Например чтоб пользователь не мог сменить адрес сервера с которым...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
24.09.2013, 19:33 #2
Цитата Сообщение от Slon747 Посмотреть сообщение
В окне настроек вывожу чекбоксы с одиночным выбором (кружки):
А при чём тут чекбоксы к листу?
Цитата Сообщение от Slon747 Посмотреть сообщение
Пытаюсь установить в истину первый элемент по-умолчанию
Java
1
2
3
4
5
public static SharedPreferences sp;
boolean prefCheck;
.....
sp = PreferenceManager.getDefaultSharedPreferences(this);
prefCheck = sp.getBoolean("check", true);
Добавлено через 2 минуты
Цитата Сообщение от Slon747 Посмотреть сообщение
Можно ли исправить?
В активити с настройками
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
prefList = (ListPreference) findPreference("prefP");     
            prefList.setDefaultValue(prefList.getEntryValues()[2]); // значение 2 по умолчанию
            String ss2 = prefLis.getValue();
            if (ss2 == null) {
                prefList.setValue((String)prefList.getEntryValues()[2]);
                ss2 = prefList.getValue();
            }
            prefList.setSummary(prefList.getEntries()[prefList.findIndexOfValue(ss2)]);
            prefList.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                    prefList2.setSummary(prefList.getEntries()[prefList.findIndexOfValue(newValue.toString())]);
                    return true;
                }
 
                
            });
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
24.09.2013, 19:57  [ТС] #3
Цитата Сообщение от Digetix Посмотреть сообщение
В активити с настройками
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
prefList = (ListPreference) findPreference("prefP");     
            prefList.setDefaultValue(prefList.getEntryValues()[2]); // значение 2 по умолчанию
            String ss2 = prefLis.getValue();
            if (ss2 == null) {
                prefList.setValue((String)prefList.getEntryValues()[2]);
                ss2 = prefList.getValue();
            }
            prefList.setSummary(prefList.getEntries()[prefList.findIndexOfValue(ss2)]);
            prefList.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                    prefList2.setSummary(prefList.getEntries()[prefList.findIndexOfValue(newValue.toString())]);
                    return true;
                }
 
                
            });
Что-то не понял. В OnCreate добавил:
Java
1
2
ListPreference prefList = (ListPreference) findPreference("SourceData");
prefList.setDefaultValue(prefList.getEntryValues()[1]);
А метода getValue() у ListPreference нет
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
24.09.2013, 22:34 #4
Цитата Сообщение от Slon747 Посмотреть сообщение
А метода getValue() у ListPreference нет
Этот метод для чекбокса

Добавлено через 14 минут
Цитата Сообщение от Slon747 Посмотреть сообщение
А метода getValue() у ListPreference нет
А @SuppressWarnings("deprecation") добавляли?
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
25.09.2013, 09:09  [ТС] #5
Цитата Сообщение от Digetix Посмотреть сообщение
А @SuppressWarnings("deprecation") добавляли?
Добавил, не помогло.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
25.09.2013, 12:07 #6
Цитата Сообщение от Slon747 Посмотреть сообщение
Добавил, не помогло.
Покажите своё активити с настройками
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
25.09.2013, 12:23  [ТС] #7
Цитата Сообщение от Digetix Посмотреть сообщение
Покажите своё активити с настройками
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.example.first;
 
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
 
public class PrefActivity extends PreferenceActivity {
 
  @Override
  @SuppressWarnings("deprecation")
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.settings);
    
/*
    ListPreference prefList = (ListPreference) findPreference("SourceData");
    prefList.setDefaultValue(prefList.getEntryValues()[1]);
    String ss2 = prefLis.getValue();
*/
   
  }
}
Странно, но когда я запустил программу на устройстве, то в настройках первый пункт был выставлен по-умолчанию.
Так что может и не стоит больше ничего делать.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
27.09.2013, 21:47 #8
Цитата Сообщение от Slon747 Посмотреть сообщение
Странно, но когда я запустил программу на устройстве, то в настройках первый пункт был выставлен по-умолчанию.
Так что может и не стоит больше ничего делать.
Проблема решилась или нет?
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
27.09.2013, 23:16  [ТС] #9
Цитата Сообщение от Digetix Посмотреть сообщение
Проблема решилась или нет?
Вероятно решилась.
На эмуляторе по-умолчанию ни один из пунктов не был выставлен.
А на устройстве по-умолчанию выставлен первый параметр.
Буду надеяться, что так будет всегда .
Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 23:16
Привет! Вот еще темы с ответами:

Хранение настроек пользователя - Программирование Android
Где лучше хранить настройки пользователя в Preferences или в БД?

Сохранение настроек в SQLite - Программирование Android
В процессе моего обучения разработке для Andrid поднялась тема сохранения параметров приложения. В частности, нужно по нажатию на пункт...

Сохранение настроек и последующее их использование - Программирование Android
Здравствуйте. Пишу приложение, где есть активити с настройками, например 3 поля ввода и кнопка для сохранения, я сохраняю значение...

Сброс настроек Activity по клику - Программирование Android
Есть приложение с двумя активити, AsyncTask и всякими геттерами сеттерами. Во втором активити (Activity2) есть кнопка для возвращения на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.09.2013, 23:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru