繁体   English   中英

将对象保存在另一个类的arraylist内

[英]save a object inside an arraylist inside the other class

嗨,我需要个人项目的帮助。 我正在开发一个用于管理show(event)的软件,并且在保存和对象到类内的arraylist中时遇到问题。 我有3个对象,艺术家,事件,合同,每次用户在艺术家和代理商之间签订合同时,我希望能够将艺术家保存到代理商类中的agentContract中。 因为我需要每个代理商的艺术家清单。 我的问题是,每次我尝试保存时,我的程序仅将所有艺术家保存在第一个座席中。 有人能帮我吗???

这是我的美术课:

public class Agent extends Person implements Serializable {
float dueAmount;
int percentage;
public static ArrayList<Artist> AgentArtists = new ArrayList<Artist>();

public Agent() 
{
    super();
    dueAmount = 0;
    percentage = 0;
}

..... .....

public static ArrayList<Artist> getAgentArtists() 
{
    return AgentArtists;
}

public void setAgentArtists(Agent age,Artist art) 
{
    age.AgentArtists.add(art);
}

我正在使用这种方法签署合同并将艺术家保存到代理的艺术家列表中

public void SignWithArtist(Artist art, Agent age) 
{
    if (age.getAgentArtists().add(art) == true) 
    {
        System.out.println("\n" + art.getName() + " is signing the contract\n");
        ProgManage.PauseScreen(1000);

        for(int i=0; i<=1; i++)
        {
            System.out.print("*");
            ProgManage.PauseScreen(1000);
            System.out.print("**");
            ProgManage.PauseScreen(1000);
            System.out.print("***");
            ProgManage.PauseScreen(1000);
            System.out.print("****");
            ProgManage.PauseScreen(1000);
        }

        System.out.println("\nContract signed by " + art.getName());
        ProgManage.PauseScreen(1000);

    } else {
        System.out.println("\n*ERROR* Artist not added");
        ProgManage.PauseScreen(1000);
    }
}

试试这个代码:

public class Agent extends Person implements Serializable {
  float dueAmount;
  int percentage;
  public ArrayList<Artist> agentArtists;

  public Agent() 
  {
    super();
    agentArtists = new ArrayList<Artist>();
    dueAmount = 0;
    percentage = 0;
  }

  public ArrayList<Artist> getAgentArtists() 
  {
    return agentArtists;
  }

  public void setAgentArtists(Artist art) 
  {
    agentArtists.add(art);
  }
}

ArrayList<object> ArrayList 内部<anotherobject>在 class 内部,在 RecyclerView 中发送数据<div id="text_translate"><p>对不起 forms 我是法语的英语</p><p>我有 3 个 class,其中 2 个有 ArrayList。 不幸的是,我的 object 和 2 ArrayList 无法工作。 我在 Android Studio 中使用 Java</p><p> 第一个 class:面板:</p><pre> public class Panel { public String nameUser; public String street; public String panelId; public ArrayList&lt;Block&gt; listBlock; public Panel(String nameUser, String street, String panelId, ArrayList&lt;Block&gt; listBlock) { this.nameUser = nameUser; this.street = street; this.panelId = panelId; this.listBlock = listBlock; } public String getNameUser() { return nameUser; } public void setNameUser(String nameUser) { this.nameUser = nameUser; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getPanelId() { return panelId; } public void setPanelId(String panelId) { this.panelId = panelId; } public ArrayList&lt;Block&gt; getListBlock() { return listBlock; } public void setListBlock(ArrayList&lt;Block&gt; listBlock) { this.listBlock = listBlock; } }</pre><p> 第二个 class: 块:</p><pre> import java.util.ArrayList; public class Block { public String nameLine; public ArrayList&lt;Breaker&gt; listBreaker; public String getNameLine() { return nameLine; } public void setNameLine(String nameLine) { this.nameLine = nameLine; } public ArrayList&lt;Breaker&gt; getListBreaker() { return listBreaker; } public void setListBreaker(ArrayList&lt;Breaker&gt; listBreaker) { this.listBreaker = listBreaker; } public Block(String nameLine, ArrayList&lt;Breaker&gt; listBreaker) { this.nameLine = nameLine; this.listBreaker = listBreaker; } }</pre><p> 第三课(最后一课):断路器:</p><pre> public class Breaker { public String name; public String utilisation; public Breaker(String name, String utilisation) { this.name = name; this.utilisation = utilisation; } public String getNom() { return name; } public void setNom(String nom) { this.name = name; } public String getUtilisation() { return utilisation; } public void setUtilisation(String utilisation) { this.utilisation = utilisation; } }</pre><p> 我的主要活动:</p><pre> public class Activity_PanelHome extends AppCompatActivity { private ArrayList&lt;Panel&gt; listPanel; private ArrayList&lt;Block&gt; listBlock; private ArrayList&lt;Breaker&gt; listBreaker; private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_panelhome); recyclerView = findViewById(R.id.recyclerViewHomePage); ArrayList&lt;Panel&gt; listPanel = new ArrayList&lt;&gt;(); List&lt;Block&gt; listBlock = new ArrayList&lt;&gt;(); List&lt;Breaker&gt; listBreaker = new ArrayList&lt;Breaker&gt;(); setUserInfo(); setAdapter(); } private void setAdapter() { RecyclerAdapter adapter = new RecyclerAdapter(listPanel); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext()); recyclerView.setLayoutManager(layoutManager); recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setAdapter(adapter); } private void setUserInfo() { listBreaker.add(new Breaker("BreakerName","BreakerUtilisation")); listBlock.add(new Block("BlockName",listBreaker)); listPanel.add(new Panel("PanelUserName","PanelStreet","PanelId",listBlock)); } }</pre><p> 我得到的错误</p><pre>Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference at com.example.application.Activity.Activity_PanelHome.setUserInfo(Activity_PanelHome.java:48) at com.example.application.Activity.Activity_PanelHome.onCreate(Activity_PanelHome.java:36)</pre><p> Ligne 36:(这是方法)</p><pre> setUserInfo();</pre><p> 利格 48:</p><pre> listBreaker.add(new Breaker("BreakerName","BreakerUtilisation"));</pre><p> 预先感谢您的帮助:)</p></div></anotherobject></object>

[英]ArrayList<object> inside ArrayList<anotherObject> inside a class, to send the data in RecyclerView

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 保存arrayList <Class> 作为房间内的弦 ArrayList<object> ArrayList 内部<anotherobject>在 class 内部,在 RecyclerView 中发送数据<div id="text_translate"><p>对不起 forms 我是法语的英语</p><p>我有 3 个 class,其中 2 个有 ArrayList。 不幸的是,我的 object 和 2 ArrayList 无法工作。 我在 Android Studio 中使用 Java</p><p> 第一个 class:面板:</p><pre> public class Panel { public String nameUser; public String street; public String panelId; public ArrayList&lt;Block&gt; listBlock; public Panel(String nameUser, String street, String panelId, ArrayList&lt;Block&gt; listBlock) { this.nameUser = nameUser; this.street = street; this.panelId = panelId; this.listBlock = listBlock; } public String getNameUser() { return nameUser; } public void setNameUser(String nameUser) { this.nameUser = nameUser; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getPanelId() { return panelId; } public void setPanelId(String panelId) { this.panelId = panelId; } public ArrayList&lt;Block&gt; getListBlock() { return listBlock; } public void setListBlock(ArrayList&lt;Block&gt; listBlock) { this.listBlock = listBlock; } }</pre><p> 第二个 class: 块:</p><pre> import java.util.ArrayList; public class Block { public String nameLine; public ArrayList&lt;Breaker&gt; listBreaker; public String getNameLine() { return nameLine; } public void setNameLine(String nameLine) { this.nameLine = nameLine; } public ArrayList&lt;Breaker&gt; getListBreaker() { return listBreaker; } public void setListBreaker(ArrayList&lt;Breaker&gt; listBreaker) { this.listBreaker = listBreaker; } public Block(String nameLine, ArrayList&lt;Breaker&gt; listBreaker) { this.nameLine = nameLine; this.listBreaker = listBreaker; } }</pre><p> 第三课(最后一课):断路器:</p><pre> public class Breaker { public String name; public String utilisation; public Breaker(String name, String utilisation) { this.name = name; this.utilisation = utilisation; } public String getNom() { return name; } public void setNom(String nom) { this.name = name; } public String getUtilisation() { return utilisation; } public void setUtilisation(String utilisation) { this.utilisation = utilisation; } }</pre><p> 我的主要活动:</p><pre> public class Activity_PanelHome extends AppCompatActivity { private ArrayList&lt;Panel&gt; listPanel; private ArrayList&lt;Block&gt; listBlock; private ArrayList&lt;Breaker&gt; listBreaker; private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_panelhome); recyclerView = findViewById(R.id.recyclerViewHomePage); ArrayList&lt;Panel&gt; listPanel = new ArrayList&lt;&gt;(); List&lt;Block&gt; listBlock = new ArrayList&lt;&gt;(); List&lt;Breaker&gt; listBreaker = new ArrayList&lt;Breaker&gt;(); setUserInfo(); setAdapter(); } private void setAdapter() { RecyclerAdapter adapter = new RecyclerAdapter(listPanel); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext()); recyclerView.setLayoutManager(layoutManager); recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setAdapter(adapter); } private void setUserInfo() { listBreaker.add(new Breaker("BreakerName","BreakerUtilisation")); listBlock.add(new Block("BlockName",listBreaker)); listPanel.add(new Panel("PanelUserName","PanelStreet","PanelId",listBlock)); } }</pre><p> 我得到的错误</p><pre>Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference at com.example.application.Activity.Activity_PanelHome.setUserInfo(Activity_PanelHome.java:48) at com.example.application.Activity.Activity_PanelHome.onCreate(Activity_PanelHome.java:36)</pre><p> Ligne 36:(这是方法)</p><pre> setUserInfo();</pre><p> 利格 48:</p><pre> listBreaker.add(new Breaker("BreakerName","BreakerUtilisation"));</pre><p> 预先感谢您的帮助:)</p></div></anotherobject></object> 如何在java中的类中创建一个带有对象的Arraylist 在 ArrayList 内的对象类中放置值时出错 该对象内的对象的数组列表 将数据保存到其他类的ArrayList中 迭代ArrayList <Class> 在那个班里 在其他类中模拟对象的创建 在其他 class 的方法中找到创建的 object 在Java的ArrayList中的类对象中保留一个独立的ID计数器
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM