2013-01-04 64 views
2

识别偏好我有一个ListPreference由一个Intent叫:如何在偏好活动

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); 
    } 
} 

Preference p;是什么,我很担心。我有其他的东西,当它发生变化,但我不知道如何确定PreferencePreference位于xml.main_settings.xml。其关键是timerIncrement。任何人都可以帮助我吗?

摘要:
我不知道如何定位位于XML文件中的Preference

回答

0

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

+0

谢谢,它现在有效。 :d – DXPower

0

当您使用首选项活动进行扩展时,您可以直接使用findPreference(CharSequence key)方法从xml文件中获取您的首选项。

所以,你可以定义偏好

Preference p = (Preference)findPreference(keyofpreferenceitemyouhavetaken); 

如果是EditTextPreference那么这将是:

EditTextPreference p = (EditTextPreference)findPreference(keyofpreferenceitemyouhavetaken); 
0

使用下面两行解决了你的问题。

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