简体   繁体   English

如何在偏好活动中识别偏好

[英]How to identify a Preference in a Preference Activity

I have a ListPreference that is called by an Intent : 我有一个由Intent调用的ListPreference

package com.timeofcubeeliteDYLANFERRIS.cubetimerelite;

import android.os.Bundle;

public class MainPreferenceActivity extends PreferenceActivity {

    private OnPreferenceChangeListener onPreferenceChangeListener = new
        OnPreferenceChangeListener() {
        public boolean onPreferenceChange(Preference arg0, Object arg1){
                return true;
        }
    };

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.main_settings);
        Preference p;
        p.setOnPreferenceChangeListener(onPreferenceChangeListener);
    }
}

The Preference p; Preference p; is what I'm concerned about. 是我所关心的。 I have the other stuff of finding when it changes, but I don't know how to actually identify the Preference . 我还有其他东西可以找到,它何时会更改,但是我不知道如何真正识别Preference The Preference is located in xml.main_settings.xml . Preference位于xml.main_settings.xml Its key is timerIncrement . 它的关键是timerIncrement Could anyone help me with this? 有人可以帮我吗?

Summary: 摘要:
I do not know how to define a Preference located in an XML file. 我不知道如何定义XML文件中的Preference

您只需使用findPreference(CharSequence key)即可检索Preference

As you are extending with Preference Activity you directly have findPreference(CharSequence key) method to get your preference from your xml file. 在使用“首选项活动”进行扩展时,您直接拥有findPreference(CharSequence key)方法来从xml文件获取您的首选项。

So you can define Preference as 因此,您可以将“首选项”定义为

Preference p = (Preference)findPreference(keyofpreferenceitemyouhavetaken);

If it is a EditTextPreference then it would be: 如果它是一个EditTextPreference,则它将是:

EditTextPreference p = (EditTextPreference)findPreference(keyofpreferenceitemyouhavetaken);

Use the below two lines which solves your problem. 使用下面的两行可以解决您的问题。

PreferenceManager.getDefaultSharedPreferences("sPEICFY YOUR XML LOCATION HERE");
Prefs.registerOnSharedPreferenceChangeListener(this);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM