如何避免编译器警告从未使用参数“ x”

时间:2019-02-19 16:11:42

标签: android-studio android-lint

建议在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的方法。但是没有使用。如何解决此警告? (仅举一个例子)。

2 个答案:

答案 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不会降低应用程序的速度,并且可以解决问题