【发布时间】:2019-08-04 08:58:34
【问题描述】:
我正在练习 'kotlin room persistence' 库保存数据并通过按保存用户按钮向另一个活动显示,但如果字段为空,我不想转到新活动。
我尝试过简单的 if 语句
if (user.toString().trim().isNotEmpty()) {
Toast.makeText(this, "Fields are empty", Toast.LENGTH_SHORT).show()
}
这个..但它也不起作用..
这是我的代码:
package com.example.app
import android.arch.persistence.room.Room
import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Toast
import com.example.app.roomDataBase.AppDb
import com.example.app.roomDataBase.UserDataClassRoom
import kotlinx.android.synthetic.main.create_user.*
class CreateUser : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.create_user)
val db = Room.databaseBuilder(
applicationContext
, AppDb::class.java, "database-name"
).allowMainThreadQueries()
.build()
btnSaveUser.setOnClickListener {
val user = UserDataClassRoom(
first_Name.text.toString().trim(),
Last_Name.text.toString(),
email.text.toString()
)
/* if (user.toString().trim().isNotEmpty()) {
Toast.makeText(this, "Fields are empty", Toast.LENGTH_SHORT).show()
} */
db.userDao().insertAll(user)
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
}
}
【问题讨论】:
-
在 Toast 后面加上 return 语句。
-
但我还是很好奇为什么用
if (user.toString().trim().isNotEmpty())而不是trim().isEmpty -
您还没有添加 else 语句。要么添加 else 语句并指定要执行的操作,要么添加 return 语句。
-
当我在 textfields 中输入一些数据时,它仍然说字段是空的,我也用 else 语句尝试过
-
发布您的更新代码。
标签: android kotlin android-recyclerview android-room