ButterKnife如何使用@OnClick参数

时间:2017-02-06 09:35:30

标签: android butterknife

我有html,body { height: 100%; } .ui.grid.container { display: flex; flex-direction: row; width: 100%; justify-content: center; align-items: center; height: 100%; } .ui.three { display: flex; } 并通过调用TextView

来设置文字
setItem

用butterknife应该是这样的:

public void setItem(String text){
    commentsTextView.setText(text);
}

但这看起来并不合适。使用private String mText; public void setItem(String text){ mText = text; } @OnClick(R.id.commentsTextView) protected void comment(){ commentsTextView.setText(mText); } 的正确方法是什么,参数不只是像所有示例所示的那样制作Toast?

4 个答案:

答案 0 :(得分:3)

Butter Knife的回调是一个类的方法,所以如果你想要额外的参数那些就需要是那个类的字段。

查看this

答案 1 :(得分:2)

除了Rikin的答案,我认为你试图滥用@OnClick注释。通常你会传递View并从中获取/设置字段,例如

@OnClick(R.id.commentsTextView)
    protected void comment(TextView view){
        view.setText(mText);
    }

可以事先在某处设置字段mText

答案 2 :(得分:0)

在你的android studio打开(只需单击)@OnClick界面,然后你就可以看到方法签名了。

答案 3 :(得分:0)

Butterknife中的注释字段(BindView,OnClick,...)需要调用Butterknife.bind(...)

确保在您的视图中调用Butterknife.bind功能。