【发布时间】:2021-07-11 12:31:52
【问题描述】:
Sorry 在 I'm French 中形成英语
我有 3 个班级,其中 2 个有 ArrayList。不幸的是,我的 2 ArrayList 对象不起作用。我在 Android Studio 中使用 Java
头等舱:面板:
public class Panel {
public String nameUser;
public String street;
public String panelId;
public ArrayList<Block> listBlock;
public Panel(String nameUser, String street, String panelId, ArrayList<Block> 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<Block> getListBlock() {
return listBlock;
}
public void setListBlock(ArrayList<Block> listBlock) {
this.listBlock = listBlock;
}
}
二等:方块:
import java.util.ArrayList;
public class Block {
public String nameLine;
public ArrayList<Breaker> listBreaker;
public String getNameLine() {
return nameLine;
}
public void setNameLine(String nameLine) {
this.nameLine = nameLine;
}
public ArrayList<Breaker> getListBreaker() {
return listBreaker;
}
public void setListBreaker(ArrayList<Breaker> listBreaker) {
this.listBreaker = listBreaker;
}
public Block(String nameLine, ArrayList<Breaker> listBreaker) {
this.nameLine = nameLine;
this.listBreaker = listBreaker;
}
}
第三(最后一课):断路器:
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;
}
}
我的主要活动:
public class Activity_PanelHome extends AppCompatActivity {
private ArrayList<Panel> listPanel;
private ArrayList<Block> listBlock;
private ArrayList<Breaker> listBreaker;
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_panelhome);
recyclerView = findViewById(R.id.recyclerViewHomePage);
ArrayList<Panel> listPanel = new ArrayList<>();
List<Block> listBlock = new ArrayList<>();
List<Breaker> listBreaker = new ArrayList<Breaker>();
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));
}
}
我得到的错误
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)
Ligne 36:(就是方法)
setUserInfo();
48 号线:
listBreaker.add(new Breaker("BreakerName","BreakerUtilisation"));
提前感谢您的帮助:)
【问题讨论】:
标签: java android class object arraylist