Как сохранить StringArray из ImageAdapter в SQLite - PullRequest
0 голосов
/ 07 января 2019

Я могу удалить изображения из RecyclerView, но я делаю это из ImageAdapter и работает отлично. Но после удаления изображения я получаю имена файлов из оставшихся изображений и сохраняю их в одну строку для сохранения в SQLite. Но проблема в том, что я сохраняю данные в базу данных во фрагменте активности, а не из ImageAdapter. Как я могу сохранить этот String файл в базе данных с помощью кнопки backpress?

Мой imageAdapter

   bpAdapter.remove(currentPosition);
                    z.delete();
                    ImageFileArrayAfterDelete.remove(currentPosition);
                    toSingleString();
                    notifyItemRemoved(currentPosition);
                    notifyItemRangeChanged(currentPosition, bpAdapter.size());
                    Integer arrayLength = (Integer) ImageFileArrayAfterDelete.size();
                    Log.d("TAG_", "After Delete image size and name: " + arrayLength);
                }
            })
            .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // do nothing
                }
            })
            .setIcon(android.R.drawable.ic_menu_delete)
            .show();
}
private void toSingleString(){
    StringBuffer result = new StringBuffer();
    for (int i = 0; i < ImageFileArrayAfterDelete.size(); i++) {
        result.append( ImageFileArrayAfterDelete.get(i));
        result.append( ",");
    }
    stringForArray = result.toString();

А вот мой фрагмент, где я сохраняю текст, заголовок и строку изображений

public void save() {    
String almostSameText = Html.toHtml(texto.getEditableText()).toString();
                        if (bp != null) {
                            Util.saveToInternalStorage(context, bp, ArrayImageName, photos);
                            base.modificarNota(titulo.getText().toString().trim(), almostSameText, stringForArray, id);
                         }
                        else {
                            base.modificarNota(titulo.getText().toString().trim(), almostSameText, null, id);
                        }
                            getActivity().onBackPressed();
                            getActivity().overridePendingTransition(R.anim.enter_from_left,R.anim.exit_from_right);
                    }
...