Hai semua, pada tutorial kali ini kita akan belajar cara menggunakan View Injection menggunakan Library Butterknife di Android. Butterknife sendiri sudah sangat poluler di kalangan Android Developer. Karenanya dengan fungsi View Injectionnya, kita tidak perlu lagi mengenalkan widget yang ada di XML kita dengan findViewById satu-persatu, karena Butterknife akan mengenerate-nya secara otomatis. Untuk dokumentasi selengkapnya bisa dikunjungi situs dokumentasi resmi berikut.
Persiapan Project
Oke, sebelum kita belajar Butterknife, pertama-tama buatlah project baru di Android Studio. Jika sudah, tambahkan library Butterknife terlebih dahulu pada build.gradle di level project, dan masukkan kode berikut :
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
Untuk tampilan layoutnya, disini saya akan memberikan beberapa views di activity_main.xml seperti kode di bawah ini :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="id.malvinr.butterknifeexample.MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/et_input_name"
android:inputType="text"
android:maxLines="1"
android:layout_centerHorizontal="true"
android:hint="Input your name"/>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et_input_name"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
android:text="Say Hi!"/>
<TextView
android:id="@+id/txt_greetings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_submit"
android:layout_centerHorizontal="true"
android:textSize="24sp"
android:layout_marginTop="12dp" />
<Button
android:id="@+id/btn_long_click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txt_greetings"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="On Long Click"/>
</RelativeLayout>
Jika bagian layoutnya sudah maka tahap selanjutnya adalah MainActivity,java sebagai kodingan utamanya. Buka file tersebut dan tambahkan kode berikut :
package id.malvinr.butterknifeexample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.OnLongClick;
public class MainActivity extends AppCompatActivity {
@BindView(R.id.txt_greetings)
public TextView txtGreetings;
@BindView(R.id.et_input_name)
public EditText et_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnClick(R.id.btn_submit)
public void onSubmit() {
String getYourName = et_name.getText().toString();
if (!TextUtils.isEmpty(getYourName)) {
txtGreetings.setText("Hello, " + getYourName + "!");
} else {
et_name.setError("Please input your name");
}
}
@OnLongClick(R.id.btn_long_click)
boolean onLongSubmit() {
Toast.makeText(this, "On Long Click successful", Toast.LENGTH_SHORT).show();
return true;
}
}
Jika sudah maka langkah terakhir adalah menjalankan aplikasinya. Jika sudah maka kira-kira hasilnya adalah sebagai berikut :
Semoga yang sedikit ini bermanfaat, jika anda memiliki pertanyaan sekitar postingan ini silahkan ajukan di kolom komentar.
ConversionConversion EmoticonEmoticon