ButterKnife之二:Fragment 中ButterKnife核心常用功能使用(替代findviewbyid,替代OnClickListener以及绑定多个id监听事件)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuchenglin830/article/details/82467388

在上一篇“ButterKnife之一:Activity中ButterKnife核心常用功能使用(替代findviewbyid,替代OnClickListener以及绑定多个id监听事件)”中对ButterKnife已经做了相对较详细的介绍,本篇只对Fragment 中ButterKnife使用的代码做出记录,简单记录下ButterKnife在fragment中与在activity中的区别!

1、Fragment 中使用ButterKnife注解类替代findviewbyid绑定view

使用ButterKnife绑定view:

    @InjectView(R.id.item_goods_name)
    TextView mGoodsName;
    @InjectView(R.id.item_goods_price)
    TextView mGoodsPrice;
    

   @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,         
        @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.goods_page, container, false);
        ButterKnife.inject(this,view);
        return view;
    }

2、Fragment 中使用ButterKnife注解类替代setOnclickListener点击事件(同样也可以替代listview的OnItemClick的方法以及CheckBox的OnCheckedChanged事件)

ButterKnife处理监听事件:




   @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,         
        @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.goods_page, container, false);
        ButterKnife.inject(this,view);
        return view;
    }


@OnClick(R.id.item_goods_img)
    void ImageClick(View view){//view可以省略
        //处理点击事件
}

3、Fragment 中使用ButterKnife中@OnClick可以一次指定多个id,为多个view绑定一个事件处理方法


   @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,         
        @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.goods_page, container, false);
        ButterKnife.inject(this,view);
        return view;
    }


@OnClick({R.id.item_goods_img,R.id.item_goods_name,R.id.item_goods_price})
    void mulitOnclick(View view){
      Toast.makeText(this,"共同处理方法",Toast.LENGTH_SHORT).show();  
}

注意ButterKnife绑定绑定的方式,比activity中多了一个view参数

猜你喜欢

转载自blog.csdn.net/zhuchenglin830/article/details/82467388