1. 程式人生 > >Android 自定義內部介面

Android 自定義內部介面

背景:介面卡中資料變動需傳出

解決:介面卡中自定義監聽介面,外部監聽變化做出反應。

介面卡中設定:

    private AddressNoListener addressNoListener;  //定義

    /**
     * 自定義介面
     */
    public interface AddressNoListener{
        void addressNo(int position);  //確定傳出的值
    }

    //設定 get set
    public AddressNoListener getAddressNoListener(){return addressNoListener;}
    public void setAddressNoListener(AddressNoListener addressNoListener)        
        {this.addressNoListener = addressNoListener;}   



    //有變動的地方 (需要監聽的地方)
    viewHolder.deliveryAddressItemEdit.setOnClickListener(new View.OnClickListener() { 
            @Override
            public void onClick(View view) {
                //選擇地址
                addressNoListener.addressNo(position); 
            }
        });

外部獲取:

        private DeliveryAddressAdapter addressAdapter;//先定義

addressAdapter.setAddressNoListener(new DeliveryAddressAdapter.AddressNoListener() {
                @Override
                public void addressNo(int addressNo) {
                         //操作
                }
            });