使用PreferenceActivity时,如何获取ListPreference中选中的值

网友投稿 405 2022-11-03


使用PreferenceActivity时,如何获取ListPreference中选中的值

汗~~~研究了一天,貌似ListPreference中根本就没有什么回调函数可以用于是,向上一层,把注意力集中于SharedPreferences,发现有这么个接口:onSharedPreferenceChanged抱着试试看的态度,实现了该接口,发现此方法可行,先将部分代码分享如下:

package yinger.firewall;import android.content.SharedPreferences;import android.content.SharedPreferences.OnSharedPreferenceChangeListener;import android.os.Bundle;import android.preference.CheckBoxPreference;import android.preference.ListPreference;import android.preference.Preference;import android.preference.PreferenceActivity;import android.preference.PreferenceManager;import android.preference.PreferenceScreen;

public class CallFireWall extends PreferenceActivity implements OnSharedPreferenceChangeListener { ListPreference lp = null; String whiteMode = "1"; String blackMode = "2";

/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); this.setTitle("Ying_er" + " Call Safe"); SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); lp = (ListPreference) findPreference(getString(R.string.pref_mode_key)); }

@Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { // TODO Auto-generated method stub return super.onPreferenceTreeClick(preferenceScreen, preference); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // TODO Auto-generated method stub System.out.println("onSharedPreferenceChanged"); if (key == getString(R.string.pref_mode_key)){ System.out.println(lp.getValue()); if(lp.getValue().equals(whiteMode)){ } } }}

注意:该事件需要注册。既:prefs.registerOnSharedPreferenceChangeListener(this);


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java基于redis和mysql实现简单的秒杀(附demo)
下一篇:playbook写法及ansible安装jdk
相关文章

 发表评论

暂时没有评论,来抢沙发吧~