我被问到如何通过PreferenceActivity(Changing MainActivity via PreferencesActivity)更改MainActivity 现在我试图改变DrawerMenu。我在主要活动中有2个字符串(NAME和EMAIL)
String NAME = "{name}";
String EMAIL = "{email}";
在OnCreate方法中,我尝试做类似的事情:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String mName = prefs.getString("test_name", NAME);
String mEmail = prefs.getString("test_email", EMAIL);
mName = NAME;
mEmail = EMAIL;
但它不起作用。
但在我(在OnCreate方法中)之前:
mAdapter = new MyAdapter(TITLES,ICONS, NAME, EMAIL, PROFILE);
提前致谢!!!
答案 0 :(得分:1)
class User < ActiveRecord::Base
has_many :active_relationships, class_name: "Relationship",
foreign_key: "follower_id",
dependent: :destroy
has_many :passive_relationships, class_name: "Relationship",
foreign_key: "followed_id",
dependent: :destroy
has_many :following, :through => :active_relationships, source: :follower
has_many :followers, :through => :passive_relationships, source: :followed
end
class Relationship < ActiveRecord::Base
belongs_to :follower, class_name: "User", foreign_key: "follower_id"
belongs_to :followed, class_name: "User", foregin_key: "followed_id"
validates :follower_id, presence: true
validates :followed_id, presence: true
end
您可以从偏好设置中设置SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String mName = prefs.getString("test_name", NAME);
String mEmail = prefs.getString("test_email", EMAIL);
mName = NAME; //<- Why do you do this?
mEmail = EMAIL; //<- This too
和mName
,然后再次更改其值。
你写道它不适用于以下内容:
mEmail
也许你只是想做这样的事情:
mAdapter = new MyAdapter(TITLES,ICONS, NAME, EMAIL, PROFILE);