[英]Data accessing from one class to another class
有什么办法可以将一个类的ArrayList调用到另一个类上? 在A类的ArrayList中,我需要在B类中使用该ArrayList,A类具有AsyncTask
,因为我具有Arraylist,所以我需要在另一个类的AsynTask的Arraylist中使用它。
在A类中:
public Class A{
public class HomeTask extends AsyncTask<Void,Void,Bundle> {
onPreexecute(){}
doInbackground(){}
postexecute(){}
Arraylist joblist(); //------------ My data is here;
}
}
第二类:
Class B
{
// I need to use that arraylist here
}
将类A的实例提供给类B的构造函数,并将其存储在字段中。 然后,两个A和B位置共享同一作业列表。
Class B {
private A a;
public B(A _a) {
a=_a;
}
}
然后,类B中的任何方法都可以通过调用a.joblist()来读取作业列表。
在主类中声明您的arraylist。
Public Class A{
ArrayList yourlist;
public class HomeTask extends AsyncTask<Void,Void,Bundle>
{
onPreexecute();{}
doInbackground();{}
postexecute();{}
Arraylist joblist()------------ My data is here;
}
}
second class:
Class B
{
I need to use that arraylist here
}
}
或者您可以在主类中创建HomeTask的对象,并通过该对象使用它,例如
Public Class A{
HomeTask hometask;
public class HomeTask extends AsyncTask<Void,Void,Bundle>
{
onPreexecute();{}
doInbackground();{}
postexecute();{}
Arraylist joblist()------------ My data is here;
}
}
Class B
{
ArrayList al = hometask.joblist();
}
}
我要作一些假设。 我注意到您在ClassA中有一个内部类HomeTask ,并且您正在尝试从其他ClassB调用内部类上的方法。 如果为真,则在ClassA中必须有内部类HomeTask的实例,除非HomeTask是静态内部类(当前不是)。 所以...
如果ClassA为:
public Class A{
public class HomeTask extends AsyncTask<Void,Void,Bundle> {
onPreexecute(){}
doInbackground(){}
postexecute(){}
Arraylist joblist(); //------------ My data is here;
}
private HomeTask homeTask = new HomeTask();
public HomeTask getHomeTask(){
return this.homeTask;
}
}
和ClassB;
public class ClassB{
private ClassA classA = new ClassA();
private HomeTask homeTask = classA.getHomeTask();
private ArrayList arrayList = homeTask.jobList();
}
使用Observer的最佳方法。请检查java网站上的文档。在onupdate上,您可以对代码进行纠正,也可以从应用程序中的任何位置进行访问。 如果您需要更多帮助,请告诉我,我将发布代码。
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.