Не удалось удалить данные из контент-провайдера в Android - PullRequest
0 голосов
/ 03 октября 2018

Это код, из которого я удаляю рецепты из базы данных

 fav_symbol_iv.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         if(aBoolean==true){
             new AsyncTask<Void, Void, Integer>() {
                  @Override
                  protected Integer doInBackground(Void... voids) {
                      return getActivity().getApplicationContext().getContentResolver().delete(
                                 RecipesContract.RecipesEntry.CONTENT_URI,
                                 RecipesContract.RecipesEntry.COLUMN_RECIPES_ID + " = ?",
                                 new String[RecipesFragment.recipesList.get(recipe_number).getId()]
                        );
                    }
                    @Override
                    protected void onPostExecute(Integer integer) {
                         Log.d(TAG, "onPostExecute: int:"+integer);
                         fav_symbol_iv.setImageResource(R.drawable.favsymboldark);
                     }
               }.execute();

            }

Это метод класса поставщика контента

   @Override
public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {

    final SQLiteDatabase db = mRecipeDbHelper.getWritableDatabase();
    int rows_deleted;
    if(null == selection) selection="1";

    switch (buildUriMatcher().match(uri)){
        case RECIPES:
            rows_deleted = db.delete(RecipesContract.RecipesEntry.TABLE_NAME,selection,selectionArgs);
            break;
            default:
                throw new UnsupportedOperationException();
    }

    if (rows_deleted != 0) {
        getContext().getContentResolver().notifyChange(uri, null);
    }
    return rows_deleted;
}

Я могу вставить данные вбазы данных, но не получил его, поэтому данные не удаляются из базы данных.Выше приведен код, где я пытался сделать материал

...