Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Methods 删除“;方法永远不会被使用;Android Studio中OnClick注释的警告_Methods_Annotations_Android Studio_Warnings_Butterknife - Fatal编程技术网

Methods 删除“;方法永远不会被使用;Android Studio中OnClick注释的警告

Methods 删除“;方法永远不会被使用;Android Studio中OnClick注释的警告,methods,annotations,android-studio,warnings,butterknife,Methods,Annotations,Android Studio,Warnings,Butterknife,对不起,如果以前有人问过这个问题。我正在使用最新版本的Android Studio(0.5.7)的Butterknife 5.0。对于使用ButterKnife的“OnClick”注释的方法,如何删除“Method is never used”警告。我注意到Eclipse没有对“OnClick”方法给出此警告。提前感谢只需添加此注释: @SuppressWarnings("unused") 就这样, @SuppressWarnings("unused") @OnClick(R.id.myBut

对不起,如果以前有人问过这个问题。我正在使用最新版本的Android Studio(0.5.7)的Butterknife 5.0。对于使用ButterKnife的“OnClick”注释的方法,如何删除“Method is never used”警告。我注意到Eclipse没有对“OnClick”方法给出此警告。提前感谢

只需添加此注释:

@SuppressWarnings("unused")
就这样,

@SuppressWarnings("unused")
@OnClick(R.id.myButton)
public void clickHandler()
{
    // ...
}
我个人的偏好(我认为这是一种良好的做法)是添加一条评论,并简要说明:

@SuppressWarnings("unused") // it's actually used, just injected by Butter Knife

在Android Studio中,抑制这些警告的正确方法是按方法上的Alt+Enter,并选择

Suppress for methods annotated by 'butterknife.OnClick'

奥斯瓦尔德的回答恰到好处

但是,如果要避免对每种类型的butterknife注释分别抑制警告,请按照他的说明进行操作,然后打开
.idea/misc.xml
,找到以下部分:

<component name="EntryPointsManager">
  <entry_points version="2.0" />
  <list size="1">
    <item index="0" class="java.lang.String" itemvalue="butterknife.OnClick" />
  </list>
</component>

在这里,只需将
butterknife.OnClick
替换为
butterknife.


从现在起,所有注入的事件处理程序都将避开警告。

为编译器添加另一个依赖项:

格拉德尔

这是建议使用的


记住Build->Rebuild Project,这样它将生成用法并消除警告。

不错,但我认为通常不会将
.idea
文件提交到存储库中,因此每个开发人员都必须单独执行此技巧,而注释会自动为每个人工作,因为它是codebase@KonradMorawski这两种方法只会更改
.idea
文件,因此无论哪种方法,您都会遇到相同的问题。提交到存储库的内容和未提交到存储库的内容完全取决于存储库配置为忽略的内容。@Tom否,SuppressWarnings是直接在代码文件中使用的注释。我明白了,我指的是Osvald和Codesparkle的答案,它只更改了.idea/misc.xml文件。你是说注释。我将在这里慢慢移动…如何撤消此操作?仅供参考,它添加了@codesparkle所说的内容(使用AS 2.0测试),可以更详细:@SuppressWarnings({“UnusedDeclaration”})@SuppressWarnings({“UnusedParameters”})-类似的内容
dependencies {
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' // new line
    compile 'com.jakewharton:butterknife:8.4.0' // original library
}