Я работаю над приложением, которое будет отображать список элементов для пользователя, используя фрагменты и просмотр списка.В настоящее время в моем AlarmFragment1 () я объявил закрытый ArrayList.
private ArrayList<Alarms> alarms = new ArrayList<Alarms>
Я использую этот список для заполнения ListView в OnCreate созданным мной AlarmAdapter.Однако я хочу иметь возможность редактировать этот список сигналов тревоги в других фрагментах, например, для удаления элемента.
В моем AlarmFragment () у меня есть прослушиватель элементов, который я использую для открытия нового фрагмента, где пользователи получают возможность удалить элемент, по которому они щелкнули.
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Bundle bundle = new Bundle();
bundle.putInt("item_index", i);
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
DeleteAlarm fragment = new DeleteAlarm();
fragment.setArguments(bundle);
transaction.add(R.id.main_frame, fragment);
transaction.commit();
Внутри моего EditFragment Iесть слушатель кнопки удаления элемента.
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Attempt at deleting item
AlarmFragment alarm = new AlarmFragment();
alarm.deleteAlarm(myInt); //<--myInt from bundle
fListener = (OnFragmentInteractionListener) getActivity();
fListener.changeFragment(3, "alarm");
}
});
Я попытался создать открытый метод внутри AlarmFragment (), который бы редактировал список для меня, например:
public void remove(int i){ alarms.remove(i); }
Мало того, что это не работает, но я такжепришлось бы придумать способ заново отобразить listView, который я изначально сделал в OnCreateView ().Я ходил кругами довольно долго, но безуспешно.Вместо этого я попытался добавить новый сигнал тревоги, но даже это не сработало.Есть ли способ, которым я мог бы сделать это, или другой способ хранения списка массивов, поскольку список будет сброшен при закрытии приложения.