Butter Knife - Android view için field ve method bağlayıcı

Size nasıl bir kolaylık sağlayacağını şu örnekle anlayabilirsiniz.

TextView footer = (TextView) findViewById( R.id.footer );

Yerine
@BindView(R.id.footer) TextView footer;

Kullanarak aynı işlemi yapmış oluyorsunuz. Kod miktarı bakımından bu örnekte pek fark yok. Fakat @onclick kullanımında önemli ölçüde fark olduğunu göreceksiniz.
R.id.go view nesnesine tıklandığında gotoSite() fonksiyonu çalıştırılacaktır.. ( Tıklanan nesnenin buton olması önemli değil )
@OnClick(R.id.go) void gotoSite() {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://mehmethanoglu.com.tr"));
    startActivity(intent);
}

Butter Knife olmadan yazmış olsaydık..
findViewById(R.id.go).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
	    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://mehmethanoglu.com.tr"));
	    startActivity(intent);
    }
});


Bağlayıcı metodlar
@BindView(R.id.title) TextView title;
@BindView(R.id.button1) Button button1;
@BindString(R.string.title) String title;
@BindDrawable(R.drawable.graphic) Drawable graphic;
@BindColor(R.color.red) int red;
@BindDimen(R.dimen.spacer) Float spacer;
@BindDimen(R.dimen.space) Integer space;

@OnClick
@OnItemSelected


Kütüphaneyi kullanabilmek için aşağıdaki iki adımı projenize uygulamanız yeterli.



# app
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
# Project
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'


Yapımcı: http://jakewharton.github.io/butterknife/
StackOverFlow Tagı: butterknife
+18
Yorum ekle

Yorum ekle

    • winksmile
      laughing
      angry
Okunamayan kodu yenilemek için resmin üstüne tıklayınız