利用接口 解决开发中的小问题

需求如图   

其实直接传递个字符串就可以了  

Intent intent=new Intent(context,B.class);
intent.putExtra("Stringkey","String value is id");
startActivity(intent);


//页面接收
String id = getIntent().getStringExtra("Stringkey");

但是如果遇到复杂的需求  要传递很多值的话  就要写很多行 如上的代码   觉得非常臃肿 不好维护   所以我想直接传递一个对象过去   方便页面A进行网络请求 同时页面A也可以拿到一些上级页面传递的数据 进行显示   (可以减少网络请求 )

 

可是页面B的 pojo  页面C的pojo  是不同类型的  那页面A 怎么接受呢  ?  肯定用到java的多态了   因为java是单继承  所以能用接口 尽量用接口  

public interface CanGetId {
    public int getId();
}

//页面B  pojo
public class AllPayPojo implements Serializable,CanGetId{
    
    private int allPayId;

    @Override
    public int getId() {
        return allPayId;
    }
}

//页面C  pojo
public class WaitPayPojo implements Serializable,CanGetId{
    
    private int waitPayId;

    @Override
    public int getId() {
        return waitPayId;
    }
}

//页面 A  接收值 
CanGetId pojo ;

@Override
protected void start() {

    user = Const.getUser();
    pojo = (CanGetId) getIntent().getSerializableExtra("pojo");

}


//在页面A 中 
pojo.getId();

 

以后就算增加需求的话  直接实现接口 就好了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值