Как использовать Butterknife с onClickListener в Activity? - PullRequest
0 голосов
/ 03 сентября 2018

Я ищу ответ, как сделать кнопку onClickListener, расположенную в Recycleview Item, используя Butterknife. Я знаю, как это сделать без Butterknife, но я ничего не могу найти с Bt. Bt поддерживает это?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018
' class ViewHolder {
    @BindView(R.id.title) TextView name;
    @BindView(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.bind(this, view);
    }

    @OnClick(R.id.submit)
     public void submit(View view) {
       // TODO submit data to server...
    }
  }'
0 голосов
/ 03 сентября 2018

Попробуйте узнать из примера кода на официальном сайте Если вы хотите внедрить логику щелчков в упражнении, выполните следующие действия.

1 Создать интерфейс

    public interface ClickHandler{
             void onClick(int position);
         }

2 Реализация CLickHandler в действии

    MainActivity extends AppCompatActivity implements ClickHandler{
    ...
    public void onclick(int position){
        Log.d("Check","Clicked at" + position);
    }
    ...
    adapter = new MyAdapter(this);//Pass the reference to activity as it implements the clickhandler.
    ...

}

3 Теперь у вашего адаптера есть ссылка для обработчика кликов. Точно так же передайте его держателю и оттуда вызовите метод onCLick.

    class ViewHolder {
        @BindView(R.id.title) TextView name;
        @BindView(R.id.job_title) TextView jobTitle;
        ClickHandler clickHandler;

        public ViewHolder(View view, ClickHandler) {
          ButterKnife.bind(this, view);
          this.clickHandler = clickHandler;
        }

        @OnClick(R.id.submit)
         public void submit(View view) {
           if(clickHandler(!=null){
              clickHandler.onClick(getAdapterPosition());
           }
        }
      }
...