如何解决从Kotlin Android中的Application变量创建单独的ArrayList Try1: Try2: Try3:
我正在尝试从Application类对象中声明的变量复制List<>
。我的问题是我无法单独制作副本。我对第二个变量所做的任何更新也会更新应用程序变量。下面是我正在使用的代码:
var app: MyApplication
private var taskItems: ArrayList<TaskItem>? = null
override fun onCreate(savedInstanceState: Bundle?) {
app = applicationContext as MyApplication
}
override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {
taskItems = app.selectedTask?.items!!
}
fun updateCount(idx: Int,quantity: Int){
taskItems?.get(idx)?.count = quantity
// This updates both taskItems and app.selectedTask.items
// I want to update only taskItems variable
}
我只想从函数 updateCount()中更新taskItems
变量,而不是应用程序变量app.selectedTask.items
。我已尝试在 onCreateView 函数中进行以下更改:
Try1:
taskItems= ArrayList<TaskItem>(app.selectedTask?.items!!)
Try2:
taskItems= ArrayList()
taskItems!!.addAll(app.selectedTask?.items!!)
Try3:
taskItems= ArrayList()
for (item in app.selectedTask?.items!!) {
taskItems!!.add(item)
}
但是以上代码都不适合我。真的很感谢您的帮助。
解决方法
尝试以下代码:
unsubscribe:any;
this.unsubscribe = db.collection("cities")
.onSnapshot(function (){
// Respond to data
});
this.unsubscribe();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。