java - Realm DB - 复制或更新只能在事务中调用
问题描述
我正在构建一个笔记应用程序。这是添加注释活动,它显示在保存时已成功添加注释,但之后引发 java.lang.IllegalStateException ''' 类 AddNotesActivity : AppCompatActivity() {
private lateinit var titleED:EditText
private lateinit var descriptionED:EditText
private lateinit var saveNotesbutton:Button
private lateinit var realm: Realm
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add_notes)
//init views
titleED = findViewById(R.id.title_Edittext)
descriptionED = findViewById(R.id.description_Edittext)
saveNotesbutton = findViewById(R.id.savenotesbutton)
realm = Realm.getDefaultInstance()
//set onclick listener
saveNotesbutton.setOnClickListener(){
addNotesToDB()
}
}
private fun addNotesToDB(){
try {
realm.beginTransaction()
val notes = Notes()
notes.title = titleED.text.toString()
notes.description = descriptionED.text.toString()
//notes.id = nextId
realm.commitTransaction()
Toast.makeText(this,"Notes added Successfully",Toast.LENGTH_SHORT).show()
startActivity(Intent(this,MainActivity::class.java))
finish()
//copy the transaction and commit
realm.copyToRealmOrUpdate(notes)
} catch (e:Exception){
Toast.makeText(this,"Failed $e",Toast.LENGTH_SHORT).show()
}
}
} '''
解决方案
推荐阅读
- laravel - 找不到类“App\cat”(查看:E:\xampp\htdocs\Blog\resources\views\layout\show.blade.php)
- android - openapitools 生成带有版本的模型
- javascript - 调整窗口大小时重新计算偏移值
- node.js - MongoDB中除String之外的不同类型的全文搜索
- python - 获取每个抓取链接的列表长度
- java - Tomcat 和 JNDI
- webrtc - 具有多个对等连接的 WebRTC - 现有对等连接之间的流在创建新连接时停止
- javascript - 如何使用 TypeScript 在 NodeJS 中动态导入 .js 文件?
- python - Google Places Find_Place API 请求不返回商家名称
- javascript - 为 Chrome 扩展创建另一个完整页面(React+Typescript)