使用PreferenceActivity让用户从列表中选择一些内容

时间:2011-03-24 15:49:36

标签: android

我创建了一个活动,在启动时显示项目列表,允许用户从此列表中创建,重命名,删除等项目。用户点击列表中的项目后,活动会调用setResult(),然后调用finish()。我在我的应用程序中多次使用此活动,并希望使用它来让用户从PreferenceActivity中选择此列表中的默认值。基本上,我希望它像这样流动:

  1. 用户进入应用程序的首选项
  2. 用户选择按钮以更改默认项目
  3. 我的活动启动,用户从该列表中选择一个项目
  4. 我的活动结束,设置了结果
  5. 用户选择的值现在在应用程序
  6. 中保存为默认值作为首选项

    任何人都知道怎么做?

2 个答案:

答案 0 :(得分:3)

您需要设置类似于以下内容的onPreferenceClickListener()

的xml:

   <Preference
        android:title="My Preferences"
        android:summary="A Preferences I am going to set"
        android:key="myPref"/>

代码:

Preference myPref= (Preference) findPreference("myPref");
myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
             public boolean onPreferenceClick(Preference preference) {
                 //LAUNCH YOUR ACTIVITY
                 return true;
             }
         });

然后在onActivityResult()中接收返回的值并将其保存到首选项中。

答案 1 :(得分:1)

@segfault Intent i = new Intent(NameOfClass.class,MyActivity.class);这肯定会有效。