Android 从首选项获取字符串
我在首选项中有EditText,在布局中也有EditText。因此,我想从首选项中获取字符串,并在单击按钮时将其用于EditText。因此我尝试如下:Android 从首选项获取字符串,android,android-edittext,android-preferences,Android,Android Edittext,Android Preferences,我在首选项中有EditText,在布局中也有EditText。因此,我想从首选项中获取字符串,并在单击按钮时将其用于EditText。因此我尝试如下: public class MainActivity extends Activity{ SharedPreferences sharedPreferences; @Override public void onCreate(Bundle savedInstanceState) { super.onCre
public class MainActivity extends Activity{
SharedPreferences sharedPreferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
}
//OnClick method
public void Button(View view) {
EditText et1 = (EditText) findViewById(R.id.edittext);
String string = sharedPreferences
.getString("ime", "default");
et1.setText(String.valueOf(string));
}
和我的prefs xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference android:title="Uredi Text"
android:key="ime"
android:summary="ime pjesme"
/>
</PreferenceScreen>
每次我单击按钮EditText时,文本变为“默认”不要直接使用
getBaseContext()
-使用“本地上下文”,在您的情况下,它是活动(as)。因此,在示例代码中,将其替换为this
:
sharedPreferences = PreferenceManager
.getDefaultSharedPreferences( this );
这个问题和上一个问题有什么不同?您是否确实输入了首选项并更改了其值?您的首选项活动除了加载res xml之外还有什么作用吗?我在首选项中只有edittext,我想从该edittext中获取字符串并在布局中使用它。是的,我在首选项中输入了“测试”,在布局中再次输入了“默认值”