有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓中跨不同片段/活动维护会话?

我有这段代码,用于在使用SharedReferences登录时进行会话管理。该代码在登录时可以完美地工作,但当我在另一个片段/活动中使用它时,它就不再工作了。我在一个空对象引用上得到错误“试图调用虚拟方法'void 安卓.widget.TextView.setText(java.lang.CharSequence)'”

有人能帮我正确调用sessionmanagement对象吗?这是我的密码

会话管理。爪哇

public class SessionManagement {

//URL to our login.php file
public static final String LOGIN_URL = "http://10.0.2.2:63343/login-test-session/login.php?";

//Keys for email and password as defined in our $_POST['key'] in login.php
public static final String KEY_EMAIL = "email";
public static final String KEY_PASSWORD = "password";

//If server response is equal to this that means login is successful
public static final String LOGIN_SUCCESS = "success";

//Keys for Sharedpreferences
//This would be the name of our shared preferences
public static final String SHARED_PREF_NAME = "themoneygerapp";

//This would be used to store the email of current logged in user
public static final String EMAIL_SHARED_PREF = "email";

//We will use this to store the boolean in sharedpreference to track user is loggedin or not
public static final String LOGGEDIN_SHARED_PREF = "loggedin";

费用观。java(片段)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_expenses_view, container, false);
    profiletest = (TextView) view.findViewById(R.id.txtProfileExpenses);
    SharedPreferences sharedPreferences = getActivity().getApplicationContext().getSharedPreferences(SessionManagement.SHARED_PREF_NAME, Context.MODE_PRIVATE);
    String email = sharedPreferences.getString(SessionManagement.EMAIL_SHARED_PREF,"Not Available");
    profiletest.setText("Expenses for user: " + email);
    loadExpenses();
    return view;
}

共 (0) 个答案