Java 从一个类到另一个类的数据访问

Java 从一个类到另一个类的数据访问,java,android,Java,Android,有没有办法将一个类的ArrayList调用到另一个类上?在类A的ArrayList中,我需要在类B中使用该ArrayList,类A有AsyncTask,因为我有ArrayList,所以我需要在另一个类的AsynTask的ArrayList中使用它 在A级: public Class A{ public class HomeTask extends AsyncTask<Void,Void,Bundle> { onPreexecute(){} doInb

有没有办法将一个类的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;
   }
}

将类A的实例交给类B的构造函数,并将其存储在字段中。 然后,两个A&B地址共享相同的作业列表

Class B {
 private A a;
 public B(A _a) {
  a=_a;
 }
}
然后类B中的任何方法都可以通过调用
a、 工作清单()

将您的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
}
}
公共A类{
列出你的清单;
公共类HomeTask扩展了AsyncTask
{ 
onPreexecute();{}
doInbackground();{}
postexecute();{}
Arraylist joblist()------我的数据在这里;
}
}
二等舱:
B类
{
我需要在这里使用arraylist
}
}
或者您可以在main类中创建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();
}
}
公共A类{
家庭作业家庭作业;
公共类HomeTask扩展了AsyncTask
{ 
onPreexecute();{}
doInbackground();{}
postexecute();{}
Arraylist joblist()------我的数据在这里;
}
}
B类
{
ArrayList al=hometask.joblist();
}
}

我要做一些假设。我注意到,在ClassA中有一个内部类HomeTask,您正试图从其他ClassB调用内部类上的方法。如果这是真的,那么在ClassA中必须有一个内部类HomeTask的实例,除非HomeTask是一个静态的内部类,而当前不是。所以

如果类别A为:

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;
   }
}

使用Observer的最佳方法。请查看java网站中的文档。where onupdate您可以修改代码,也可以从应用程序中的任何位置访问。 如果你需要更多的帮助,那么告诉我我会发布代码


谢谢。

您能更具体一点吗?什么是B级?这是一项活动吗?为什么要在另一个类中访问列表?您的代码很混乱。正如您所写,“作业列表”是访问列表的方法吗?
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;
   }
}
public class ClassB{

     private ClassA classA = new ClassA();
     private HomeTask homeTask = classA.getHomeTask();
     private ArrayList arrayList = homeTask.jobList();
}