Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以使用哪种方法代替FindReference方法?_Java_Android_Android Preferences - Fatal编程技术网

Java 我们可以使用哪种方法代替FindReference方法?

Java 我们可以使用哪种方法代替FindReference方法?,java,android,android-preferences,Java,Android,Android Preferences,我尝试编写一个应用程序,通过蓝牙控制Arduino。因此,我使用这个类保存了一个菜单中的选项,该菜单显示了可用的配对蓝牙设备。在下面的代码中,findReference方法在android APK 2.2版中被弃用。那么我可以使用哪种方法来代替FindReference package com.example.Bluetooth_Arduino_Controller; import java.util.Map; import android.content.SharedPreferences

我尝试编写一个应用程序,通过蓝牙控制Arduino。因此,我使用这个类保存了一个菜单中的选项,该菜单显示了可用的配对蓝牙设备。在下面的代码中,findReference方法在android APK 2.2版中被弃用。那么我可以使用哪种方法来代替FindReference

package com.example.Bluetooth_Arduino_Controller;

import java.util.Map;

import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;

public class PreferencesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActivityHelper.initialize(this);

    }

    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        Preference pref = findPreference(key);//Here I've used findPreference method

        if (pref instanceof ListPreference) {
            ListPreference listPref = (ListPreference) pref;
            pref.setSummary(listPref.getEntry());
            ActivityHelper.initialize(this);
        }

        if (pref instanceof EditTextPreference) {
            EditTextPreference editPref = (EditTextPreference) pref;
            pref.setSummary(editPref.getText());
        }
    }

    @Override
    protected void onPause() {

        PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
        super.onPause();
    }

    @Override
    protected void onResume() {
        PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
        Map<String, ?> keys = PreferenceManager.getDefaultSharedPreferences(this).getAll();

        for (Map.Entry<String, ?> entry : keys.entrySet()) {

            Preference pref = findPreference(entry.getKey());
            if (pref != null) {
                pref.setSummary(entry.getValue().toString());
            }
        }

        super.onResume();
    }

}
package com.example.Bluetooth\u Arduino\u控制器;
导入java.util.Map;
导入android.content.SharedReferences;
导入android.content.SharedReferences.OnSharedPreferenceChangeListener;
导入android.os.Bundle;
导入android.preference.EditTextPreference;
导入android.preference.ListPreference;
导入android.preference.preference;
导入android.preference.PreferenceActivity;
导入android.preference.PreferenceManager;
公共类PreferenceActivity扩展PreferenceActivity在共享PreferenceChangeListener上实现{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ActivityHelper.initialize(此);
}
已更改共享首选项上的公共void(SharedReferences SharedReferences,字符串键){
Preference pref=findPreference(key);//这里我使用了findPreference方法
if(ListPreference的pref instanceof){
ListPreference listPref=(ListPreference)pref;
pref.setSummary(listPref.getEntry());
ActivityHelper.initialize(此);
}
if(pref instanceof EditTextPreference){
EditTextPreference editPref=(EditTextPreference)pref;
pref.setSummary(editPref.getText());
}
}
@凌驾
受保护的void onPause(){
PreferenceManager.GetDefaultSharedReferences(this).取消注册共享PreferenceChangeListener(this);
super.onPause();
}
@凌驾
受保护的void onResume(){
PreferenceManager.GetDefaultSharedReferences(this.RegisterOnSharedReferenceChangeListener(this);
Map keys=PreferenceManager.getDefaultSharedReferences(this.getAll();
for(Map.Entry:keys.entrySet()){
Preference pref=findPreference(entry.getKey());
如果(pref!=null){
pref.setSummary(entry.getValue().toString());
}
}
super.onResume();
}
}
ActivityHelper是将所选首选项重新驱动到另一个类的类