Как сохранить StringArray из ImageAdapter в SQLite

Я могу удалять изображения из 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);
                    }

Вы должны узнать, как использовать библиотеку gson, она превратит список в строку и обратно в список.

JRowan 07.01.2019 03:49

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

S Shah 07.01.2019 03:51

Что вы перезваниваете из mainavtivity?

JRowan 07.01.2019 04:07

я хочу вызвать метод сохранения

S Shah 07.01.2019 04:19

Согласно Android Docs, вы должны сохранять его в функции onPause вашего Activity.

lionscribe 07.01.2019 06:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
36
0

Другие вопросы по теме