Java 尝试对空对象引用调用虚方法。ArrayList
编译器给出了这个错误Java 尝试对空对象引用调用虚方法。ArrayList,java,arraylist,android-room,Java,Arraylist,Android Room,编译器给出了这个错误 尝试在上调用虚拟方法“java.util.ArrayList com.example.schedule.Mon2Fragment.Text_getter()” 空对象引用 这是我的密码: class MyAsyncTaskOthers2 extends AsyncTask<Void,Void,Void>{ @Override protected Void doInBackground(Void... voids) { Inten
尝试在上调用虚拟方法“java.util.ArrayList com.example.schedule.Mon2Fragment.Text_getter()”
空对象引用
这是我的密码:
class MyAsyncTaskOthers2 extends AsyncTask<Void,Void,Void>{
@Override
protected Void doInBackground(Void... voids) {
Intent intent = getIntent();
Database db = App.getInstance().getDatabase();
if(!db.classDao().doesGroupExist(intent.getStringExtra(Others.EXTRA_DATA))){
ClassEntity new_group=new ClassEntity();
new_group.id_of_a_group= intent.getStringExtra(Others.EXTRA_DATA);
new_group.monday= mon2Fragment.Text_getter(); // It points on this line
db.classDao().insert(new_group);
}
else{
db.classDao().update(mon2Fragment.Text_getter(),intent.getStringExtra(Others.EXTRA_DATA));
}
return null;
}
}
类MyAsyncTaskOthers2扩展了AsyncTask{
@凌驾
受保护的空位背景(空位…空位){
Intent=getIntent();
Database db=App.getInstance().getDatabase();
如果(!db.classDao().doesgroup存在(intent.getStringExtra(Others.EXTRA_DATA))){
ClassEntity new_group=new ClassEntity();
新的\u组.id\u的\u组=intent.getStringExtra(其他.EXTRA\u数据);
new_group.monday=mon2Fragment.Text_getter();//它指向此行
db.classDao().insert(新组);
}
否则{
db.classDao().update(mon2Fragment.Text_getter(),intent.getStringExtra(Others.EXTRA_DATA));
}
返回null;
}
}
下面是文本获取方法:
public ArrayList<String> Text_getter() {
ArrayList<String> arr=new ArrayList<>();
arr.add((String) textView1.getText());
arr.add((String) textView2.getText());
arr.add((String) textView3.getText());
arr.add((String) textView4.getText());
arr.add((String) textView5.getText());
arr.add((String) textView6.getText());
arr.add((String) textView7.getText());
arr.add((String) textView8.getText());
return arr;
}
public ArrayList Text_getter(){
ArrayList arr=新的ArrayList();
arr.add((字符串)textView1.getText());
arr.add((字符串)textView2.getText());
arr.add((字符串)textView3.getText());
arr.add((字符串)textView4.getText());
arr.add((字符串)textView5.getText());
arr.add((字符串)textView6.getText());
arr.add((字符串)textView7.getText());
arr.add((字符串)textView8.getText());
返回arr;
}
我初始化了一个数组列表
ArrayList<String> arr=new ArrayList<>();
ArrayList arr=new ArrayList();
正如您在上面看到的,我不知道为什么会出现NPE错误。
mon2Fragment
是null
,而不是ArrayList。ArrayList
是Text\u getter()
的返回类型。我没有显示@Guy