我是一名正在从事学校项目的新手。
当我想用其他方法调用函数时,我遇到了困难。该功能没有出现在建议中。我必须进行活动,其中有historyHelper 和mainResult。我想在mainResult活动中调用historyHelper中的函数
historyHelper中的函数
fun insertHistory(idnya: historyModel): Long {
val db = this.writableDatabase
val contentValues = ContentValues()
contentValues.put(DBid, idnya.ID_RC)
contentValues.put(DBdate, idnya.DATE_RC)
contentValues.put(DBnama, idnya.NAMA_RC)
contentValues.put(DBumur, idnya.UMUR_RC)
contentValues.put(DBjk, idnya.JK_RC)
contentValues.put(DBriksa, idnya.PERIKSA_RC)
contentValues.put(DBkadar, idnya.KADAR_RC)
contentValues.put(DBsatuan, idnya.SATUAN_RC)
contentValues.put(DBinter, idnya.INTER_RC)
val berhasil = db.insert(DB_Table,null,contentValues)
db.close()
return berhasil
}
mainResult中的代码
val checkHistory = findViewById<Button>(R.id.btnck_auhigh)
checkHistory.setOnClickListener{
//insert history
dbHelper = historyHelper(this)
val calend = Calendar.getInstance().time
val dateFormat = DateFormat.getDateInstance(DateFormat.SHORT).format(calend)
val dateHist = dateFormat.toString()
val namaHist = profile2.toString()
val umurHist = profile3.toString().toInt()
val jkHist = profile1.toString()
val periksaHist = "AU"
val kadarHist = kadar1.toString().toDouble()
val satuanHist = kadar2.toString()
val interHist = "tinggi"
//add to history
if (profile1.text == "" || profile2.text == "" || profile3.text == "" || kadar1.text == "" || kadar2.text == "" ) {
Toast.makeText(applicationContext, "No History Saved", Toast.LENGTH_SHORT).show()
} else {
val hst = historyModel(DATE_RC = dateHist, NAMA_RC = namaHist, UMUR_RC = umurHist, JK_RC = jkHist, PERIKSA_RC = periksaHist, KADAR_RC = kadarHist, SATUAN_RC = satuanHist, INTER_RC = interHist)
}
val status = dbHelper.insertHistory(idnya) //the function that i cant call
if (status > -1){
Toast.makeText(applicationContext, "History Saved", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(applicationContext, "History not Saved", Toast.LENGTH_SHORT).show()
}
}
idnya 的来源是我的 HistoryModel 活动,它存储我数据库的数据类型,这是我的代码
import org.w3c.dom.Text
import kotlin.random.Random
data class historyModel (
var ID_RC: Int = getAutoId(),
var DATE_RC : String,
var NAMA_RC : String,
var UMUR_RC : Int,
var JK_RC : String,
var PERIKSA_RC : String,
var KADAR_RC : Double,
var SATUAN_RC : String,
var INTER_RC : String
){
companion object{
fun getAutoId(): Int{
val rnd = Random(1)
return rnd.nextInt(999)
}
}
}
请帮我修复此代码T_T
我以前也遇到过类似的问题,但我找不到好的解决方案。所以我重写了我想使用的活动中的函数T_T。
只需创建一个类对象,您可以在其中创建该函数并与该类对象一起使用,并且使用该类对象您可以访问该函数
class test {
fun myFunction(){
print("this is test function")
}
}
class mainClass{
val t = test().myFunction();
}