Я создаю SwipeLayout ListView
и пытаюсь поместить его в fragment
, что создает мне проблему.Просто упомяну, что я реализовал макет вкладок (смахивание влево / вправо отключено), и в этом макете у меня есть 2 фрагмента (2 вкладки).
Я использую этот https://github.com/chthai64/SwipeRevealLayout для моегоSwipeLayout и в этом примере он реализован внутри действия, а не фрагмента, что является проблемой для меня.
Итак, у меня есть Activity.java
и FragmentOne.java
и ListAdapter.java
.Фрагмент, очевидно, является потомком действия, и, так как я пытаюсь внедрить этот SwipeLayout
во фрагмент, возникает проблема, когда я помещаю функции setupList()
и createList()
во фрагмент, а затем мне нужно вызвать setupList()
, но гдея должен назвать это?Это сработает, если я переопределю onStart
но это нормально?Может ли это вызвать проблемы?
В этом примере он вызывается в onCreate
методе, которого нет у фрагментов, и я не могу вызвать его в onCreateView
, потому что представление еще не создано, и мне нужноиметь list_view
готов.list_view
находится в fragment.xml
.
Я также пытался реализовать эти функции в Activity
, но я не могу или не должен получать доступ к элементам макета фрагментов из Activity
, если яправильно, так как это нехорошая практика или даже невозможная.
private void setupList() {
ListView listView = getView().findViewById(R.id.list_view);
adapter = new ListAdapter(getContext(), createList(20));
listView.setAdapter(adapter);
}
private List<String> createList(int n) {
List<String> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add("View " + i);
}
return list;
}
Что мне нужно сделать, чтобы понять это правильно?Нужно ли реализовывать функциональность во фрагменте или есть какой-то другой способ?У меня также есть другие фрагменты в этой деятельности, которые взаимодействуют друг с другом, в зависимости от того, что будет делать пользователь.