通过PreferenceActivity更改抽屉菜单

时间:2015-07-05 19:39:01

标签: android

我被问到如何通过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);

提前致谢!!!

1 个答案:

答案 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);