У меня есть RelativeLayout с изображением внутри него. Когда я нажимаю ImageView, мне нужно вызвать задачу Async, чтобы получить некоторые данные и отобразить их в нижней части экрана в RecyclerView. Нравится:
До щелкнув что-либо:
Щелкните ImageView -> (вызывает асинхронную задачу и отображает индикатор выполнения):
Результат:
У меня работает исходный макет (первое изображение), но я не уверен, как реорганизовать мой макет, чтобы все это происходило одним щелчком мыши. Мне также нужно было бы иметь возможность увеличить RecyclerView, поскольку я разрешаю пользователю загружать больше «комментариев» в этот нижний раздел.
Упрощенный макет, который у меня сейчас есть, в основном таков:
<!--Does all of this belong in a ScrollView to allow for the comments section at the bottom? -->
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical">
<!-- Lots of TextViews and buttons-->
<ImageView
android:id = "@+id/main_picture_with_unknown_size"
android:layout_width = "match_parent"
android:layout_height = "wrap_content/>
<ImageView
android:id = "@+id/button_comments"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:background = "@drawable/ic_comments" />
<!-- Do I need to put the comments section here in a FrameLayout?-->
</RelativeLayout>
У меня есть прослушиватель кликов в просмотре изображения, который я хочу использовать в качестве триггера для раздела комментариев. Как развернуть / загрузить представление при нажатии?
Сделать это можно так:
android:visibility = "gone".adapter.notifyDataSetChanged(); из вашей активности. Теперь у вас есть полный обзор ресайклера. Можно установить recyclerView.setVisibility(true);Чтобы реализовать бесконечную прокрутку, вы можете сделать что-то вроде этого:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
if (layoutManager.findLastVisibleItemPosition() == adapter.getItemCount() - 1) {
// LOAD MORE COMMENTS AND ADD GIVE THEM TO YOUR ADAPTER
}
}
});
Надеюсь, это имеет смысл.
вы можете сослаться на это, чтобы помочь вам Создайте список с RecyclerView, и при нажатии кнопки вызовите метод, который инициирует просмотр ресайклера