Урок 74. Preferences. Программное создание экрана настроек
Урок 74. Preferences. Программное создание экрана настроек
В этом уроке:
- создаем экран настроек программно
Click here to read this article!
- создаем экран настроек программно
Click here to read this article!
Последний раз редактировалось damager82 19 май 2017, 10:17, всего редактировалось 4 раза.
Re: Урок 74. Preferences. Программное создание экрана настро
Добрый день!
После данного урока попытался сделать свой небольшой экран настроек, содержащий три строковых значения. Почему то они рисуются в произвольной последовательности и , к тому же, только один EditTextPreference отрисовывает значения Title и Summary, в двух других вообще все пусто...
package com.altsoft.meccabinet;
import android.os.Bundle;
//import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
//import android.preference.ListPreference;
//import android.preference.Preference;
//import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
//import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
public class PrefActivity extends PreferenceActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// создаем экран
PreferenceScreen rootScreen = getPreferenceManager().createPreferenceScreen(this);
// говорим Activity, что rootScreen - корневой
setPreferenceScreen(rootScreen);
// далее создаем элементы, присваиваем атрибуты и формируем иерархию
EditTextPreference NameProfile = new EditTextPreference(this);
NameProfile.setKey("NameProfile");
NameProfile.setTitle("Название профиля");
NameProfile.setSummary("Например \"Моя квартира\", ул. Ленина, кв15, Мама");
rootScreen.addPreference(NameProfile);
EditTextPreference LicProfile = new EditTextPreference(this);
NameProfile.setKey("LicProfile");
NameProfile.setTitle("Лицевой счет");
NameProfile.setSummary("9-ти значный номер л/с");
rootScreen.addPreference(LicProfile);
EditTextPreference PhoneProfile = new EditTextPreference(this);
NameProfile.setKey("PhoneProfile");
NameProfile.setTitle("Телефон");
NameProfile.setSummary("10-ти значный номер телефона, без +7, 8 и т.д.");
rootScreen.addPreference(PhoneProfile);
}
}
После данного урока попытался сделать свой небольшой экран настроек, содержащий три строковых значения. Почему то они рисуются в произвольной последовательности и , к тому же, только один EditTextPreference отрисовывает значения Title и Summary, в двух других вообще все пусто...
package com.altsoft.meccabinet;
import android.os.Bundle;
//import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
//import android.preference.ListPreference;
//import android.preference.Preference;
//import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
//import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
public class PrefActivity extends PreferenceActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// создаем экран
PreferenceScreen rootScreen = getPreferenceManager().createPreferenceScreen(this);
// говорим Activity, что rootScreen - корневой
setPreferenceScreen(rootScreen);
// далее создаем элементы, присваиваем атрибуты и формируем иерархию
EditTextPreference NameProfile = new EditTextPreference(this);
NameProfile.setKey("NameProfile");
NameProfile.setTitle("Название профиля");
NameProfile.setSummary("Например \"Моя квартира\", ул. Ленина, кв15, Мама");
rootScreen.addPreference(NameProfile);
EditTextPreference LicProfile = new EditTextPreference(this);
NameProfile.setKey("LicProfile");
NameProfile.setTitle("Лицевой счет");
NameProfile.setSummary("9-ти значный номер л/с");
rootScreen.addPreference(LicProfile);
EditTextPreference PhoneProfile = new EditTextPreference(this);
NameProfile.setKey("PhoneProfile");
NameProfile.setTitle("Телефон");
NameProfile.setSummary("10-ти значный номер телефона, без +7, 8 и т.д.");
rootScreen.addPreference(PhoneProfile);
}
}
Re: Урок 74. Preferences. Программное создание экрана настро
никто не будет это смотреть, пока ты не отформатируешь код в редакторе.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 74. Preferences. Программное создание экрана настро
я буду...) хотя код нужно оформлять, это да
Глупости написаны. Title и Summary меняются только у одной настройки NameProfile, только 3 раза. И если вы этого не понимаете, а это скорее всего, тк задали этот вопрос, то может стоит подтянуть базу знаний.
Глупости написаны. Title и Summary меняются только у одной настройки NameProfile, только 3 раза. И если вы этого не понимаете, а это скорее всего, тк задали этот вопрос, то может стоит подтянуть базу знаний.
Re: Урок 74. Preferences. Программное создание экрана настро
да с тобой все ясно потом удивляешься, что народ даже гуглить ленится. А сам - вот вам тарелочка с голубой каемочкой.klblk писал(а):я буду...) хотя код нужно оформлять, это да
Глупости написаны. Title и Summary меняются только у одной настройки NameProfile, только 3 раза. И если вы этого не понимаете, а это скорее всего, тк задали этот вопрос, то может стоит подтянуть базу знаний.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 74. Preferences. Программное создание экрана настро
ну так-то да)Foenix писал(а):да с тобой все ясно потом удивляешься, что народ даже гуглить ленится. А сам - вот вам тарелочка с голубой каемочкой.klblk писал(а):я буду...) хотя код нужно оформлять, это да
Глупости написаны. Title и Summary меняются только у одной настройки NameProfile, только 3 раза. И если вы этого не понимаете, а это скорее всего, тк задали этот вопрос, то может стоит подтянуть базу знаний.
Ну в данном случае гугл вряд ли бы помог) а мне как-то сразу ошибка увиделась еще из описания...)
Re: Урок 74. Preferences. Программное создание экрана настро
Спасибо ребята! Прям глаза сразу открыли. А то я в запарах в упор такой дураццкой ошибки и не видел... Одним словом горе от ума
Re: Урок 74. Preferences. Программное создание экрана настро
С последними занятиями (в том числе и этом) как-то всё плохо: что не занятие, то какой-нибудь метод is deprecated (здесь, getPreferenceManager и setPreferenceScreen).
В отдельных занятиях ещё есть упоминания о свежих методах, описанных далее, а здесь-то куда смотреть, чем заменять?
В отдельных занятиях ещё есть упоминания о свежих методах, описанных далее, а здесь-то куда смотреть, чем заменять?
Re: Урок 74. Preferences. Программное создание экрана настро
http://developer.android.com/intl/ru/gu ... tings.htmlEnero писал(а):С последними занятиями (в том числе и этом) как-то всё плохо: что не занятие, то какой-нибудь метод is deprecated (здесь, getPreferenceManager и setPreferenceScreen).
В отдельных занятиях ещё есть упоминания о свежих методах, описанных далее, а здесь-то куда смотреть, чем заменять?
Re: Урок 74. Preferences. Программное создание экрана настро
Добрый день. Урок оказался очень занимательным и помог мне в создании preferences для моих живых обоев.
(почему я решил создавать программно - отдельная история)
Но вот не смогут ли мне помочь в одном вопросе.
В XML можно создать вот такую вещь (Android 4.0)
а как такое создать программно? (весь инет облазил - но там все немного не то)
(почему я решил создавать программно - отдельная история)
Но вот не смогут ли мне помочь в одном вопросе.
В XML можно создать вот такую вещь (Android 4.0)
Код: Выделить всё
<SeekBarPreference android:key="SPIN"
android:summary="Summary"
android:max="10"
android:title="Title"
android:persistent="true"
android:defaultValue="5" />
P.S - Да я умею пользоваться поиском.
P.P.S - Если я спросил. значит много искал и не нашел. Задавать глупые вопросы - не мое хобби.
P.P.S - Если я спросил. значит много искал и не нашел. Задавать глупые вопросы - не мое хобби.
Re: Урок 74. Preferences. Программное создание экрана настро
Насколько я знаю SeekBarPreference по умолчанию в андроид не существует. Нужно либо подключать стороннюю библиотеку либо писать собственный виджет (пример, статья старенькая, но насколько я знаю ничего в последнее время в этой сфере не менялось).
А вот как это потом программно создавать не знаю, ни разу не создавал, но вероятно также как вы создаете другие Preference.
А вот как это потом программно создавать не знаю, ни разу не создавал, но вероятно также как вы создаете другие Preference.