я работаю над listview, но продолжаю получать сообщение об ошибке «Попытка вызвать виртуальный метод ‘boolean … для ссылки на нулевой объект»

#android-studio

#android-studio

Вопрос:

// этот код находится в классе SQLiteOpenHelper

 boolean addphone (String p_name,String P_desc,String price){
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues contentValues=new ContentValues();
        contentValues.put(COL2,p_name);
        contentValues.put(COL3,P_desc);
        contentValues.put(COL4,price);
        long result=db.insert(TABLE_NAME,null,contentValues);
        return true;}
  

// вот как я вызвал это в MainActivity

 if(newPname.length() != 0 amp;amp; newPdesc.length() != 0 amp;amp; newPrice.length() != 0){
                    myDB.addphone(newPname,newPdesc,newPrice);
                    et_name.setText("");
                    et_desc.setText("");
                    et_price.setText("");}
  

// также имел это в том же классе

 boolean addphone(String newPname,String p_desc,String p_price){
   myDB.addphone(newPname, p_desc, p_price);
    return true;
  

}
  

Комментарии:

1. Можете ли вы указать, в какой строке происходит ошибка?

2. это происходит в этой строке: myDB.addphone (newPname,newPdesc,NewPrice);

3. Это может быть много чего, но есть ли причина, по которой вы возвращаете логическое значение, которое жестко запрограммировано, чтобы быть истинным? Похоже, что эти функции могут измениться на void. Я не вижу, чтобы вы использовали здесь какие-либо другие логические значения, поэтому это должно быть как-то связано с этим.

4. я следил за руководством по созданию пользовательского адаптера для списка, который содержит несколько представлений из sqliteopenhelper. но, похоже, ничего не работает. когда я добавляю элемент, эмулятор каждый раз выходит из строя.