12/08/2018, 15:56

How Butterknife library works?

Trước đây khi Google chưa ra đời Data Binding Library thì thư viện Butterknife được sử dụng rộng rãi để viết code gọn hơn và nhanh hơn. Với Butterknife, chúng ta không cần phải lặp lại nhiều lần findViewById() hoặc setOnClick(), setLongClick(), ... mà chỉ cần khai báo Annotation, ví dụ Cách ...

Trước đây khi Google chưa ra đời Data Binding Library thì thư viện Butterknife được sử dụng rộng rãi để viết code gọn hơn và nhanh hơn. Với Butterknife, chúng ta không cần phải lặp lại nhiều lần findViewById() hoặc setOnClick(), setLongClick(), ... mà chỉ cần khai báo Annotation, ví dụ

  • Cách thông thường
public class MainActivity extends AppCompatActivity {

    TextView mTextView;

    Button mButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextView = (TextView) findViewById(R.id.text_view);
        mButton = (Button) findViewById(R.id.button);

        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getBaseContext(), "Simple", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
  • Sử dụng Butterknife
public class MainActivity extends AppCompatActivity {

    @BindView(R.id.text_view)
    TextView mTextView;

    @BindView(R.id.button)
    Button mButton;

    @OnClick(R.id.button)
    void submit() {
        Toast.makeText(getBaseContext(), "Simple", Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }
}

Bạn có thấy nhanh và gọn hơn cách thông thường ko?             </div>
            
            <div class=

0