我已经创建了一个EditTextPreference,现在我想从任何其他活动中获取值。我一直在尝试很多东西,但我无法让它发挥作用。这个值存储在哪里?我怎样才能找回它?
编辑:我想从其他活动中获取值,而不是Preferences
活动。
settings.xml
<EditTextPreference
android:title="EditText1"
android:key="edit1"
android:defaultValue="0"
android:dialogIcon="@drawable/fleetespiar"
android:inputType="number" />
Settings.java
(如何在其他活动中执行此操作)
Preference edit1= findPreference("edit1");
EditTextPreference editt1 = (EditTextPreference) edit1;
System.out.println(String.valueOf(editt.getText().toString()));
答案 0 :(得分:2)
首先,您需要创建SharedPreferences
的实例,然后可以在其上调用getString()
,指定值的键。
答案 1 :(得分:2)
您的值将存储在共享首选项文件中。
检查下面的小例子:
在 res 目录(资源)中创建 xml 目录 你的android项目。
在新的 xml 目录中,您必须创建一个包含EditTextPreference的preference.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:dialogTitle="My preference"
android:key="pref"
android:summary="Enter Your Preference"
android:title="Edit Text Preference" />
</PreferenceScreen>
现在创建扩展 PreferenceActivity 的偏好设置类。
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
使用 SharedPreference 对象插入并获取您的字符串值。