为了账号安全,请及时绑定邮箱和手机立即绑定

由于 android 中的空指针异常,我无法获取我的数据

由于 android 中的空指针异常,我无法获取我的数据

婷婷同学_ 2021-12-18 15:29:12
当我尝试使用我的视图数据方法从我的数据库中获取数据时,即使我的数据库有数据,视图数据方法也只会给我空指针异常:        public String viewdata3(){   SQLiteDatabase sqLiteDatabase4 = dataBase.getWritableDatabase();   String [] classdetail = {DataBase.classname,DataBase.studentsnumber};   @SuppressLint("Recycle") Cursor cursor = sqLiteDatabase4.query(DataBase.tablename1,classdetail,null,           null,null,null,null,null);   StringBuilder stringBuilder = new StringBuilder();   while (cursor.moveToNext()){       String classnamee = cursor.getString(0);       int stdntnmbr = cursor.getInt(1);       stringBuilder.append(classnamee+" "+stdntnmbr+" "+"/n");   }   return viewdata3();每当我调用此方法时,应用程序就会崩溃,对于任何其他类似的方法,数据恢复方法也是如此:        DataBaseConnection db; ArrayAdapter<String> adapter; String [] data = {Objects.requireNonNull(db).viewdata3()};@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main3);    ListView classes = findViewById(R.id.ListView);  adapter= new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,data);  classes.setAdapter(adapter);
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

我认为问题出在这里


 String [] data = {Objects.requireNonNull(db).viewdata3()};

您应该在调用上面的行之前初始化数据库。


 @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main3);

         db = .... // initialize your db;

        data = {Objects.requireNonNull(db).viewdata3()};

        ....

    }


查看完整回答
反对 回复 2021-12-18
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞


查看完整回答
反对 回复 2021-12-18
  • 2 回答
  • 0 关注
  • 180 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信