我在java中有一个getter和setter方法
public class TempInfo {
private int user_ID;
public int getID() {
return user_ID;
}
public void setID(int id) {
this.user_ID = id;
}
}
我有2个不同的班级。在第一个我调用setter方法并设置参数,因为如果我从那里调用getter方法它显示“user_ID”的值,但如果我在第二个类中调用getter方法它显示0。
头等(我在这里使用setter)
String segment = response.substring(response.lastIndexOf(":") + 1);
TempInfo i = new TempInfo();
i.setID(Integer.parseInt(segment));
使用我的数据库ID成功返回“segment” 第二课(我想使用getter)
TempInfo i = new TempInfo();
Toast.makeText(MainActivity.this, "" +i.getID(), Toast.LENGTH_LONG).show();
总的来说,我想在类中设置“user_ID”,存储在那里并显示在另一个类中。我撕毁了数据库中的ID,但我还需要java中的ID。
答案 0 :(得分:1)
你正在制作两个TempInfo对象。 让我们称它们为TempInfo1和TempInfo2。 在第一项活动中,你做了
TEmpInfo1.setID(Integer.parseInt(segment));
在下一个活动中,您正在呼叫
TEmpInfo2.getID();
一种可能的解决方案是你可以使用Singleton。
public class TempInfo {
private TempInfo() {
}
static TempInfo tempInfo;
private static int user_ID;
public static TempInfo getInstance() {
if (tempInfo == null) {
tempInfo = new TempInfo();
}
return tempInfo;
}
public int getID() {
return user_ID;
}
public void setID(int id) {
this.user_ID = id;
}
}
并使用
TempInfo.getInstance().setId(Integer.parseInt(segment));
TempInfo.getInstance().getId();
更改后,您的代码应该可以正常工作。