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

需求如图   

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

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();

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

猜你喜欢

转载自blog.csdn.net/u013317653/article/details/90901834