android - 多次更改应用程序中定义的变量的值不起作用 [Android]
问题描述
我在应用程序类中定义了一个Int变量week,它的初始值为0,有一些方法可以修改它。我在 Main_activity 中有一个按钮,当我单击它时,周+=1,但是当我多次单击该按钮时,周始终为 1。
我的应用.kt
class App :Application(){
var week :Int = 0
fun getNextWeek(): Int{
this.week+=1
return this.week
}
}
这是单击按钮时将执行的代码
val week = App().getNextWeek()
println(week)
当点击按钮次数时,除了:
1
2
3
4
解决方案
您正在App
为每个调用 ( App()
) 实例化一个 new,并且每个实例都有自己的week
变量。
假设它是一个 Android Application
,你永远不应该自己实例化它。假设您确实想将此数据存储在应用程序类中,而是在清单文件中将其声明为应用程序类,并在您的应用程序getApplication()
中获取 any的单个实例Context
。
推荐阅读
- python - 从字符串列表中获取整数的总和
- shell - 在多个服务器上运行命令的脚本
- buffer - vulkan pushConstant vs 统一缓冲区更新
- json - 错误类型错误:无法读取未定义的属性“日期/时间”
- machine-learning - 聚类算法的性能指标是什么?
- java - 如何在 jBPM 中查看自定义流程事件监听器的日志
- android-studio - 按钮为空对象引用(Android Studio)
- flutter - 如何在运行时创建两条线并计算它的颤动角度?
- c++ - MongoDB 中 javascript 函数的替代方案
- reactjs - 制作动态 crud 时是否可以使用 getStaticProps 方法?