2

我遇到了共享首选项的问题。它没有像我预期的那样工作。登录我的应用程序后,我在共享首选项中存储了一个 ID(谷歌 ID)。在随后的活动(大约 3 个活动之后)中,我尝试检索 id 但它为空。如果它很重要,我正在尝试在 onClickListener (从按钮)中检索共享首选项。我不确定我做错了什么。任何帮助,将不胜感激。

我如何设置它:

    public void setLoginPreferences(String id){

    SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
    editor.putString(Constants.ID_KEY_NAME, id);
    editor.commit();
}

我如何尝试得到它:

    //setup clickListener for Sumbit Comment
    Button submitButton = (Button) findViewById(R.id.submitComment);
    submitButton.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
           //myContext is a global variable set on the onCreate of the activity
            SharedPreferences prefs = myContext.getPreferences(MODE_PRIVATE);
            String userId = prefs.getString(Constants.ID_KEY_NAME, null);   
            SetConcertCommentAsynchWebservice scca = new SetConcertCommentAsynchWebservice(myContext,concertId,userId,Float.toString(soundRatingBar.getRating()),Float.toString(showRatingBar.getRating()),userSubmittedComments.getText().toString()); 
        }});
}
4

1 回答 1

3

如果您想在其他地方访问它们,您可能想要使用context.getSharedPreferences()而不是。context.getPreferences()

于 2012-11-24T02:51:06.277 回答