Android 自定義內部介面
阿新 • • 發佈:2018-12-26
背景:介面卡中資料變動需傳出
解決:介面卡中自定義監聽介面,外部監聽變化做出反應。
介面卡中設定:
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) {
//操作
}
});