如何避免编译器警告 Parameter 'x' is never used

How to avoid complier warning Parameter 'x' is never used

建议在 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 方法的参数。但它没有被使用。我该如何解决这个警告? (举个例子)。

我花了几天时间才弄清楚在不使用 @SuppressWarnings("unused")

的情况下管理此警告的确切方法

android:onClick="@{viewModel::buttonClicked}" is equal to android:onClick="@{(v) -> viewModel.buttonClicked(v)}, both were calling same method fun buttonClicked(view1: View) in Kotlin. (just try to mention difference between '::' and '.' usage)

所以我修正了我的警告,我显式调用方法而不是使用 -'::'

fun buttonClicked() // Button onClick function

它将从 XML - >android:onClick="@{(v) -> viewModel.buttonClicked()}".这样"Parameter view1 is never used"就不会再出现了。

简单修复!!快乐编码

我只是确保以一种廉价的方式使用视图变量,这样错误就消失了:

Log.d("IGNORE", "Logging view to curb warnings: $view1")

这不是一个优雅的答案,但一个日志不会减慢应用程序的速度并且它可以解决问题