我想要更改来自其他活动的值
Main_activity.java
...
long notify_interval = 1000; //ms
...
但是,在另一个名为system.java的活动中,我有这个代码
btn_normal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Main_activity.notify_interval = 1000; // HERE <<--
Toast.makeText(getApplicationContext(), "Interval changed!", Toast.LENGTH_SHORT).show();
}
});
但是没有用,有人告诉我,这种方式永远不会奏效。那么,我该怎么办?
---------更新---------
您好,通过这个技巧,我可以在活动之间更改长值
public static long notify_interval = 1000;
但是,我正在使用AlarmManager,当我关闭应用程序时,系统使用默认值(1000),而不是使用我设置的自定义notify_interval。那么,我该怎么做才能解决它?
答案 0 :(得分:1)
如果您需要实时执行此操作,请创建interface
并使活动实现它,然后将其传递给更新值的地方,并调用更新活动中的值的方法
否则你需要在intent
中添加额外内容答案 1 :(得分:1)
您可以使用静态变量来执行此操作。
public static long notify_interval = 1000;
在第二次活动中使用
btn_normal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Main_activity.notify_interval = 1000; // HERE <<--
Toast.makeText(getApplicationContext(), "Interval changed!", Toast.LENGTH_SHORT).show();
}
});
它运作良好。