我一直在玩 Transfuse ( http://androidtransfuse.org/ ),现在正在尝试解决SharedPreferences
。该文档使这看起来非常简单:
@Activity
public class Example{
@Inject @Preference(value = "favorite_color", default = "green")
String favColor;
}
但是,据我了解,SharedPreferences
是按名称检索的,而不仅仅是按键。那么,Transfuse 是如何知道SharedPreferences
我要访问的文件的名称的呢?
我尝试过这样的事情无济于事:
@Activity
public class MainActivity{
public static final String PREF_NAME = "pref_name";
@Inject
android.app.Activity mActivity;
@Inject @Preference(value = PREF_NAME, defaultValue = "")
String mPreference;
@Inject @View(R.id.preference)
EditText mPreferenceEditText;
@RegisterListener(R.id.button_2)
android.view.View.OnClickListener mSavePrefListener = new android.view.View.OnClickListener() {
@Override
public void onClick(android.view.View v) {
String val = mPreferenceEditText.getText().toString();
mActivity.getSharedPreferences("the_shared_prefs", Context.MODE_PRIVATE)
.edit()
.putString(PREF_NAME, val)
.apply();
}
};
@OnResume
private void displayPrefText(){
mPreferenceEditText.setText(mPreference);
}
}
谢谢你的帮助!