我正在尝试在整个应用程序中维护用户 ID 和用户名。我创建了一个名为 Session 的类,它将数据放置和接收到 SharedPreferences 并设置它工作得很好。我遇到的问题是当我去另一个活动中检索它时。会话类构造函数 public Session(Context cntx) { // TODO Auto-generated constructor stub prefs = PreferenceManager.getDefaultSharedPreferences(cntx); }添加用户ID的会话类方法和检索它的方法 public void setUserID(int userID) { prefs.edit().putInt("userID", userID).apply(); }public int getID() { int userID; return userID = prefs.getInt("userID",0); }在登录时设置 ID StringRequest stringRequest = new StringRequest(Request.Method.POST, server_url, new Response.Listener<String>() { @Override public void onResponse(String response) { builder.setTitle("Server Response"); builder.setMessage("Response :"+response); session = new Session(getApplicationContext()); int responseInt = Integer.parseInt(response.trim()); session.setUserID(responseInt); Intent myIntent = new Intent(LoginActivity.this, navActivity.class); startActivity(myIntent); finish();尝试检索该 ID 并放入 editText @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_jars); session = new Session(getApplicationContext()); userID = (EditText) findViewById(R.id.userID); builder = new AlertDialog.Builder(MyJars.this); userID.setText(session.getID());我希望能够提取该数据并将其发送到我的服务器,在那里我可以运行我的 PHP 脚本,就像我在其他活动中一样,但这不合作。
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
在这一行:
userID.setText(session.getID());
session.getID()
是一个整数,它被解释为一个整数资源 ID,而不是您要设置的字符串文本userID
。
改成这样:
userID.setText("" + session.getID());
或者
userID.setText(String.valueOf(session.getID()));
添加回答
举报
0/150
提交
取消