Настройки AndroidНастройки экрана - PullRequest
2 голосов
/ 19 ноября 2011

Я новичок в разработке Android.Я разработал настройку активности в своем приложении для Android.Я хотел, чтобы одно предпочтение открыло обычную активностьЯ создал объект предпочтений в своем XML-файле и захватил событие onclick, чтобы открыть действие.Код ниже:

 <PreferenceCategory android:title="School">
  <Preference
    android:key="txtSchoolListPreference"
    android:title="Select School"
    android:clickable="true" />
</PreferenceCategory>

    // Get selected school text box
    Preference SelectedSchool =(Preference)findPreference("txtSchoolListPreference");

    SelectedSchool.setOnPreferenceClickListener(new OnPreferenceClickListener() {
         public boolean onPreferenceClick(Preference preference) {
             // Show the login intent
             Intent i = new Intent(Settings.this,SchoolList.class);
             i.putExtra(One.APP_ACTIVITY_NAME,One.APP_ACTIVITY_SETTINGS);
             startActivityForResult(i, One.APP_ACTIVITY_SCHOOLLIST);
             return true;
         }
    });

Все отлично работает, но я хотел бы добавить значок со стрелкой вниз в предпочтение, но я не знаю как.

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

1 Ответ

1 голос
/ 19 ноября 2011

Получение PreferenceActivity для отображения, как текущая тема системы, немного сложнее.Чем просто показывать Android ванильную стрелку.Вам нужно будет создать подкласс DialogPreference ( код на github ).Используйте код из EditTextPreference ( код на github ) в качестве шаблона для создания своего подкласса.Похоже, что вы начнете другое действие, это будет проще, чем создать другое, которое отображает другое диалоговое окно (в моем опыте это было не так просто).

Чтобы включить ваши предпочтения в xml-файл Preference Resource, используйте полное имя с большой заглавной буквой.Например, class Foo в package com.stackoverflow будет выглядеть как <Com.stackoverflow.Foo>.Это похоже на то, как пользовательские виджеты используются в макетах XML.

Причина, по которой вы должны сделать это таким образом, заключается в том, что стрелка является внутренним ресурсом, поэтому мы должны перейти к некоторым крайностям, чтобы использовать внутренний ресурс.

...