我一直在关注关于如何在Android Studio中构建Android应用的https://developer.android.com/courses/android-basics-kotlin/unit-2教程。那里也引入了代码检查,作为修复警告和使代码完美的一部分。
添加我的MainActivity.kt代码:
package com.example.tiptime
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.KeyEvent
import android.view.View
import android.view.inputmethod.InputMethodManager
import com.example.tiptime.databinding.ActivityMainBinding
import java.text.NumberFormat
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
//setContentView(R.layout.activity_main)
setContentView(binding.root)
binding.tipResult.text = ""
binding.calculateButton.setOnClickListener {
calculateTip()
}
// Hide keyboard on enter press
binding.costOfServiceEditText.setOnKeyListener { view, keyCode, _ ->
handleKeyEvent(
view,
keyCode
)
}
}
private fun calculateTip() {
val cost = binding.costOfServiceEditText.text.toString().toDoubleOrNull()
if (cost == null) {
binding.tipResult.text = ""
return
}
val tipPercentage = when (binding.tipOptions.checkedRadioButtonId) {
R.id.option_twenty_percent -> 0.20
R.id.option_eighteen_percent -> 0.18
else -> 0.15
}
var tip = tipPercentage * cost
if (binding.roundUpSwitch.isChecked) {
tip = kotlin.math.ceil(tip)
}
val formattedTip = NumberFormat.getCurrencyInstance().format(tip)
binding.tipResult.text = getString(R.string.tip_amount, formattedTip)
}
private fun handleKeyEvent(view: View, keyCode: Int): Boolean {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
// Hide the keyboard
val inputMethodManager =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
return true
}
return false
}
}
我已经完成了获取用户输入的第2部分,我想确保没有代码警告。但是在对项目使用代码检查后,我注意到了几个警告。一个警告是关于calculateTip()的,它说:“从未使用方法。”尽管在setOnClickListener中使用了该方法。
按下“安全删除”按钮后,显示:“函数MainActivity.calculateTip()有1个用法,删除不安全。”这完全相反。这是代码检查错误还是我没有看到一些智能修复程序?
还附上了截图。
从未使用方法:warning that shows up
按下安全删除时检测到的用法:usages detected
1条答案
按热度按时间cngwdvgl1#
我运行谷歌代码,它似乎可以在这方面,它使用calculateTip()函数。