Articles of андроид зритель

Всегда ли RecyclerView.ViewHolder должен быть внутренним классом?

У меня есть два RecyclerView.Adapter s, которые используют точно такой же RecyclerView.ViewHolder как внутренние классы. Я хотел избавиться от дублирования кода и сделал свободный, отдельный класс ViewHolder бесплатным, поэтому новый класс теперь может использоваться любым RecyclerView.Adapter s. Однако я столкнулся с множеством проблем, например, с трудностями при доступе к объектам адаптера. getAdapterPosition() всегда возвращает -1 […]

OnCreateViewHolder RecyclerView.Adapter вызывается дважды или более, несколько раз

В настоящее время я разрабатываю приложение, которое использует RecyclerView. При рассмотрении LogCat я заметил, что onCreateViewHolder вызывается дважды после его создания. 09-22 05:22:55.209 V/Adapter﹕ Construct 09-22 05:22:55.213 V/Adapter﹕ onCreateViewHolder 09-22 05:22:55.224 V/Adapter﹕ onBindViewHolder 09-22 05:22:55.240 V/Adapter﹕ onCreateViewHolder 09-22 05:22:55.247 V/Adapter﹕ onBindViewHolder Также onBindViewHolder вызывается дважды, хотя я знаю, что он вызывается всякий раз, когда элементы […]

Должен ли держатель удерживать ссылку на адаптер?

Я читаю пример кода от Google, код выглядит так: public class AttractionListFragment extends Fragment { … private class AttractionAdapter extends RecyclerView.Adapter<ViewHolder> implements ItemClickListener { public List<Attraction> mAttractionList; private Context mContext; public AttractionAdapter(Context context, List<Attraction> attractions) { super(); mContext = context; mAttractionList = attractions; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { Log.d("TEST", "onCreateViewHolder"); LayoutInflater […]

RecyclerView itemView OnGlobalLayoutListener не срабатывает для всех itemViews

У меня есть RecyclerView в конструкторе владельца которого я добавляю onGlobalLayoutListener следующим образом public CustomViewHolder(final View itemView, Context context) { super(itemView, context); itemView.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // Get height here } }); } Это срабатывает для всех itemViews , которые видны на экране, но когда я просматриваю recyclerView, он не […]

Что вызывает это исключение java.lang.RuntimeException: java.lang.NoSuchMethodException: <init>

У меня проблема с моим проектом firebase . Я выполнил шаги по документации firebase GitHub, но я получил это исключение java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.view.View] Это класс ViewHolder который не является внутренним классом. public class ProductViewHolder extends RecyclerView.ViewHolder{ public View mView; public ImageView img; public TextView title; public TextView price; public RatingBar stars; ProductViewHolder(View itemView) […]

Связывание в ViewHolder

Это будет теоретический вопрос. Как и все мы используем RecyclerView во многих частях приложения. Иногда RecyclerView содержит разные элементы, а не только изображение, например, объявления, подсказки и т. Д. И поэтому мы можем использовать метод getViewType () в Adapter. Но проблема возникает, когда у нас много типов viewTypes, и привязка этого в Adapter не изящна. […]

Как обрабатывать событие click в RecyclerView.ItemDecoration?

У меня есть RecyclerView (с LinearLayoutManager) и пользовательский RecyclerView.ItemDecoration для него. Скажем, я хочу иметь кнопки в оформлении (по какой-то причине ..). Я раздуваю макет кнопкой, он рисует правильно. Но я не могу сделать кнопку нажатой. Если я нажимаю на него, ничего не происходит (он остается неизменным, без нажимающего эффекта), а событие onClick не срабатывает. […]

RecyclerView – обратный вызов, когда вид больше не отображается

У меня есть RecyclerView с его адаптером и LayoutManager. Адаптер имеет приблизительно 15 различных ViewHolders. Один из них содержит WebView, который загружает внешнее содержимое (99% из них – видео за пределами YouTube). Проблема возникает, когда какой-либо вид адаптера выходит из экрана – видео в WebView продолжает играть и воспроизводится звук. Тем не менее, это приемлемо […]

ViewHolder – хорошая практика

Маленький новичок вопрос. Почему мы должны инициализировать ViewHolder в getView() ? Почему мы не можем инициализировать его в конструкторе?

Как открыть фрагмент из RecyclerView.Adapter <CardAdapter.ViewHolder>

1.TabLayout – tab1 (Fragment1) – tab2 (Fragment2) – tab3 (Fragment3) * RecyclerView + CardView (OnClick) В CardView ClickListner откройте другой фрагмент в tab3. Итак, как открыть фрагмент в tab3. Ошибка в getFragmentManager() : FragmentTransaction transaction = getFragmentManager().beginTransaction(); Вместо этого я попытался: FragmentTransaction transaction = activity.getFragmentManager().beginTransaction(); FragmentTransaction transaction = itemview.getContext().getFragmentManager().beginTransaction(); Но ошибка не решена. Вот мой […]

Intereting Posts
Остановка элементов при перемещении при использовании StaggeredGridLayoutManager Добавить productFlavor в экспериментальную библиотеку плагинов Android gradle Javascript 'deviceorientation' event – какие датчики он измеряет? Как установить клиент webview? Как проверить, что Bitmap пуст (пустой) на Android Включение общего JavaScript в WebViewClient Подключение к защищенной паролем Wi-Fi сети с помощью оболочки adb Кнопка android RadioButton вытягивающая сила тяжести Обновление сервисов Google Play Как использовать значки и символы из «Font Awesome» в приложении для Android Объявление пользовательского элемента пользовательского интерфейса Android с использованием XML «Aapt» Ошибка IOException = 2, Нет такого файла или каталога «Почему я не могу построить свой град на дженкинсах? Класс не найден, ошибка после обновления инструментов ADD и Android sdk до последней версии 22 Обнаружение, если приложение было удалено Не удалось настроить SDK: Ошибка: модуль «приложение»: платформа «Google Inc.:Google APIs: 21» не найден