Когда я открываю модуль, он падает - PullRequest
0 голосов
/ 03 марта 2020

Я создаю проект android, когда я открываю модуль списка продуктов, он должен отображать изображение данных с описанием, но вместо этого он создает sh, а logcat говорит:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor com.example.pointofsale.DatabaseHelper.getItemsdata(java.lang.String)' on a null object reference at com.example.pointofsale.FoodList.onCreate(FoodList.java:31)

Как мне решить эту проблему?

public class FoodList extends AppCompatActivity {

    GridView gridView;
    ArrayList<Food> list;
    FoodListAdapter adapter = null;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_food_list);

        gridView = (GridView) findViewById(R.id.foodgridviewID);
        list = new ArrayList<>();
        adapter = new FoodListAdapter(this, R.layout.food_items,list);
        gridView.setAdapter(adapter);

        //get data from database

        Cursor cursor = Add_Items.databaseHelper.getItemsdata("SELECT * FROM ITEMS");
        list.clear();
        while (cursor.moveToNext())
        {
            int id  = cursor.getInt(0);
            String name = cursor.getString(1);
            String price = cursor.getString(2);
            byte[] image = cursor.getBlob(3);

            list.add(new Food(name, price, image, id));
        }

        adapter.notifyDataSetChanged();
        if (list.size() == 0)
        {
            Toast.makeText(this,"No record found", Toast.LENGTH_SHORT).show();
        }
    }
}

// База данных

public Cursor getItemsdata (String sql)
{
    SQLiteDatabase db = getReadableDatabase();
    return db.rawQuery(sql, null);
}

1 Ответ

0 голосов
/ 03 марта 2020

В вашем коде Add_Items.databaseHelper равно null.

Убедитесь, что вы инициализировали экземпляр для Add_Items.databaseHelper.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...