安卓问一下两个页面传递参数的问题?

在网上查了,简单的数据是用Intent,我传的是Arraylist,也可以用intent,但是我要传到继承View方法的页面,所以getIntent();老是报错!请问怎么处理?图片说明

intent 是跳转activity之间传值的组件 继承于View的类不能直接得到intent 需要得到它所在的activity的context 如果是fragemnt就用getContext().getIntent()

new View(Context context)
new View 时增加参数,记得一定要把Contxt 传进去,这个作用很大;

支持一楼,Activity用Intent ,Bundle传值

getIntent()是Activity中的方法,在继承Activity类中直接用getIntent()其实是 MyActivity.this.getIntent() 的简写

在继承View的类中 没有这个方法 getIntent()就相当于 view.getIntent(),没有这个方法当然报错了,在View中用getIntent()就得用context,那View中Context如何得到呢,可以定义一个成员变量Context mContext; 然后在View类中用一个带Context的参数的函数去初始化它,比如在构造方法里
public View(Context context){
mContext = context;
}
获取context的方法有很多,百度就可以解决

view所在的activity中获取intent传递的数据,view中写个方法,通过方法传递去数据到view中(或许可行哦)

public MyView(Context context, AttributeSet abu,List list)
{
super(context, abu);
Activity a = (Activity) context;
ArrayList lists = list; //就可以得到传过来的数据

}

View里通过构造函数获取上下文文本(Context),然后context.getIntent就可以了