iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
Mobile Development

Android studio 30天初學筆記系列 第 23

[Android Studio 30天挑戰] Day23 - 介紹ButterKnife

  • 分享至 

  • xImage
  •  

今天要介紹的是ButterKnife這個套件讓我們宣告View之後不用再打findViewById,讓我們的程式更簡潔。別小看這一行,如果是個大專案你可是能省下好幾行的。/images/emoticon/emoticon07.gif

依賴

  implementation 'com.jakewharton:butterknife:10.2.3'
  annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'

語法

精隨就是@BindView()這一行,括弧裡可以放元件或res裡的圖片或顏色等等。

public class MainAcivity extends AppCompatActivity {
    @BindView(R.id.online_date) EditText onlineDate;
    @BindView(R.id.customer_name) EditText customerName;
    @BindView(R.id.so_id) EditText soId;
    @BindView(R.id.confirm) Button confirm;
    @BindView(R.id.date) Button date;
    @BindView(R.id.query_incu) View queryIncu;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //ButterKnife綁定view,這行我常常忘記。
        ButterKnife.bind(this);

其他

像是Adapter中也可以使用。

class ViewHolder extends RecyclerView.ViewHolder{
        @BindView(R.id.textView) TextView textView;
        @BindView(R.id.button) Button button;
        
        ViewHolder(final View v) {
            super(v);
            //ButterKnife綁定view,這行我常常忘記。
            ButterKnife.bind(this, v);
        }
    }

還有點擊事件。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //ButterKnife綁定view,這行我常常忘記。
        ButterKnife.bind(this); 
    }
    //點擊事件綁定
    @OnClick(R.id.button)
    public void onClick() {
    
    }
}

上一篇
[Android Studio 30天挑戰] Day22 - 介紹SharedPreferences
下一篇
[Android Studio 30天挑戰] Day24 -介紹MVC MVP
系列文
Android studio 30天初學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言