Ich habe eine sehr dumme und elementare Fragen, aber ich kann nicht scheinen, um es zu umgehen. Ich versuche, Daten zwischen drei Klassen passieren, so ist dies der Ansatz, den ich nahm:Java Daten zwischen zwei Klassen
Klasse A
public class GroupChat {
public String message;
public String myId;
public String otherID;
public GroupChat() {
}
public String getOtherID() {
return otherID;
}
public void setOtherID(String otherID) {
this.otherID = otherID;
}
public String getMyId() {
return myId;
}
public void setMyId(String myId) {
this.myId = myId;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Klasse B -, die die Daten auf die Schaltfläche erzeugt klicken
GroupChat chat = new GroupChat();
chat.setParticipants(participants);
chat.setMyId(userId);
chat.setOtherID(id);
chat.setMessage(message);
Als ich Drucken Sie das Protokoll dieser Variablen in der GroupChat-Klasse aus, alles ist perfekt.
Wenn ich jedoch versuche, die Getter zu verwenden, um Daten in Klasse C zu bekommen, wo ich sie brauche, geben sie einen Nullwert zurück.
Klasse C
GroupChat chat = new GroupChat();
chat.getMessage(),
chat.getItemView(),
chat.getMyId(),
chat.getOtherID());
Ich habe sogar versucht, die Daten in der Klasse Groupchat anmelden. Wenn ich die Daten unter Verwendung der Setter eintrage, ist alles in Ordnung, wenn jedoch die Daten auf den Gettern aufgezeichnet werden, geben diese NULL zurück. In der GroupChat-Klasse muss etwas vorhanden sein, das die Variablen ungültig macht.
Kann mir bitte jemand in die richtige Richtung zeigen? Tausend Dank.
Sind Sie sicher, dass Sie die gleiche Instanz von 'GroupChat' verwenden? Wenn Sie an beiden Stellen 'new' verwenden, haben Sie es mit zwei verschiedenen Instanzen zu tun. Das Setzen von Werten auf eins wirkt sich nicht auf das andere aus. – 0x5453
Ich glaube, Sie müssen die Werte in Klasse C festlegen oder Ihr GroupChat-Objekt weitergeben. –
ahaaaa, also was muss ich tun, um die gleiche Instanz von GroupChat zu haben? –