Я не уверен, что полностью понимаю, что вы делаете, но из того, что вы написали, похоже, что вы каждый раз создаете новый Map_Delegate.Таким образом, вы создаете один объект и устанавливаете значения, затем вы создаете другой объект и пытаетесь получить значения (но при создании нового объекта значения инициализируются нулем).Вы должны вызывать get для объекта, который вы сначала создали, для чего необходимо сохранить ссылку на него и передать его туда, где это необходимо.
В качестве альтернативы может оказаться, что вы пытаетесь реализовать шаблон проектирования Singleton.Использование шаблона проектирования Singleton означает, что когда-либо будет только один экземпляр данного класса, поэтому вам не нужно передавать ссылку, вы можете просто получить ее, снова вызвав getInstance.В основном, чтобы получить синглтон для вашего случая, вы должны сделать:
public class Map_Delegate {
private static Map_Delegate instance;
private Map_Delegate() {
// Private constructor so nobody can create an instance of your class.
}
public static Map_Delegate getInstance() {
if (instance == null) {
instance = new Map_Delegate();
}
return instance;
}
// All the rest of your code can go here.
}
Теперь вы можете сделать:
Map_Delegate a = Map_Delegate.getInstance();
a.setMyName("Name");
// Whatever else.
Затем в дальнейшем вы можете сделать:
Map_Delegate b = Map_Delegate.getInstance();
String name = b.getMyName();
и имя не будет нулевым, потому что вы используете тот же экземпляр из ранее.