Вы перебираете каждый элемент в массиве и заполняете все столбцы, поэтому у вас есть одинаковое количество строк и одинаковое количество столбцов, равное длине массива.
Что вы должны сделать, это удалить цикл и написать в каждый столбец, используя индекс вручную
public void populateStockMaterialDB(ArrayList<String> inventoryData) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_MATERIAL, inventoryData.get(1));
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_UOM_STORE, inventoryData.get(2));
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_UOM_AVAILABLE, inventoryData.get(3));
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_QUANTITY_STORE, inventoryData.get(4));
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_QUANTITY_AVAILABLLE, inventoryData.get(5));
contentValues.put(FoodoclockContract.FoodolockEntry.COLUMN_MOQ, inventoryData.get(6));
this.getWritableDatabase().insertOrThrow(FoodoclockContract.FoodolockEntry.TABLE_NAME7, "", contentValues);
}
, который должен решить вашу проблему.Но лучшим способом решения этой проблемы было бы использование модели для хранения значения для каждого столбца в вашей базе данных, а затем просто сопоставление с соответствующими данными, просто наличие класса, в котором есть строковые поля для каждого свойства, которое вы хотите сохранить в своей базе данных.а затем используйте значение каждого поля для заполнения БД.