Android PreferenceScreen首选项

时间:2011-11-18 21:11:51

标签: android android-preferences

我是Android开发的新手。我在Android应用程序中开发了一个首选项活动。我想要一个Preference来打开一个常规的Activity。我在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 个答案:

答案 0 :(得分:1)

让PreferenceActivity显示为系统的当前主题更加复杂。而不只是显示Android香草箭头。您必须创建DialogPreferencecode on github)的子类。使用EditTextPreferencecode on github)中的代码作为模板,了解如何创建子类。因为看起来你将开始另一个Activity,这比创建一个显示另一个对话框更容易(根据我的经验,这并不容易)。

要在首选项资源xml文件中包含您的首选项,请使用带有大写字母的完全限定名称。例如,class Foo中的package com.stackoverflow将显示为<Com.stackoverflow.Foo>。这类似于在xml布局中使用自定义视图窗口小部件的方式。

你必须这样做的原因是箭头是一个内部资源,所以我们必须走极端才能使用内部资源。