یعنی می خواهید یه متغیر public static رو مقدار بدید.!
دوست عزیز متغیر های استاتیک در heap حافظه ذخیره میشن پس بنابراین فقط یکبار مقدار میگیرن البته اگر از نوع داده اولیه باشن پس دیگه نمی تونید از اکتیویتی های دیگه بهش مقدار بدید.!
حالا برای رفع اشکال بهتره که این کار کنید.!
public class MyClass {
private int a ;
public final ObserverValueSet observerValueSet = a -> MyClass.this.a = a;
public final ObserverValueGet observerValueGet = () -> MyClass.this.a;
public MyClass() { }
public interface ObserverValueSet {
void setValue(int a);
}
public interface ObserverValueGet {
int get();
}
}
و تو اکتیویتی ویا هر کلاس دیگه ای هم اینطوری فراخوانی کنید...
MyClass x = new MyClass();
x.observerValueSet.setValue(1);
int o = x.observerValueGet.get();





پاسخ با نقل قول