2017-02-06 31 views
3

我有一個TextView和設置文本通過調用setItemButterKnife如何使用@OnClick與參數

隨着butterknife應該是這樣的:

private String mText; 

public void setItem(String text){ 
    mText = text; 
} 

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

但是這看起來不正確的。使用@OnClick的正確方法是什麼?參數不僅僅是像所有示例所示的Toast一樣顯示?

回答

3

Butter Knife的回調函數是一個類的方法,所以如果你想要額外的參數,那些類需要是字段。請致電this

+0

我明白了,但是當我有更多的參數時,它看起來像是開銷而不是設置OnClickListener。 butterknife的主要目的是使外觀更加美觀和清潔。或者我錯過了什麼? – SpyZip

+1

看來你是對的! –

2

除了Rikin的回答,我認爲你是在嘗試濫用@OnClick註釋。通常你會通過View並從中獲取/設置字段,例如

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

字段mText可以預先設置在某個地方。

0

在你的android studio打開(只需點擊)@OnClick界面,然後你可以看到方法簽名。在Butterknife

0

註釋字段(BindView,的OnClick,...)是必要叫Butterknife.bind(...)

請在您的視圖確保通話Butterknife.bind功能。