建议在Android Studio 3.3中解决此类编译器警告的最佳方法
注意:我找到了许多解决方案来避免出现警告并取消选中Studio检查。但我期望有所不同。
示例: 如果警告从未使用参数'view1',则该按钮位于onClick方法中。
方法
fun buttonClicked(view1: View) {
// Call Intent to new Activity .
// Parameter **view1** is not used }
从XML调用方法
<Button
android:id="@+id/button_id"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:onClick="@{viewModel::buttonClicked}"
android:text="@string/example" />.
因此,我们需要(view1:View)参数作为onClick的方法。但是没有使用。如何解决此警告? (仅举一个例子)。
答案 0 :(得分:0)
我花了几天的时间才弄清楚不使用 @SuppressWarnings(“ unused”)
来管理此警告的确切方法。android:onClick =“ @ {viewModel :: buttonClicked}” 等于 android:onClick =“ @ {(v)-> viewModel.buttonClicked(v)} ,两者都在Kotlin中调用相同的方法 fun buttonClicked(view1:View) (只是尝试提及“ ::”和“。”用法之间的区别)< / p>
因此,我修复了警告,明确地调用了方法,而不是使用-'::'
const schema = new mongoose.Schema({
date: Date,
game_name: String,
status: String,
comp_id: Number,
});
将从XML中调用它-> android:onClick =“ @ {(v)-> viewModel.buttonClicked()}” 。因此,“不再使用参数view1”将不再出现。
简单修复!快乐编码
答案 1 :(得分:0)
我只是确保以便宜的方式使用view变量,以使错误消失:
Log.d("IGNORE", "Logging view to curb warnings: $view1")
这不是一个很好的答案,但是一个Log不会降低应用程序的速度,并且可以解决问题