Wenn Sie daran interessiert sind, eine Android-App zu erstellen, die Listen zum Anzeigen von Daten verwendet, bietet Android Lollipop zwei neue Widgets, die Ihnen das Leben erleichtern werden: RecyclerView und CardView.Mit diesen Widgets ist es sehr einfach, Ihrer App ein Look-and-Feel zu geben, das den in der Materialdesign-Spezifikation von Google genannten Richtlinien entspricht. Demo. Hereafter you can use RecyclerView instead of ListView. RecyclerView makes it easy to efficiently display large sets of data. A RecyclerView is a great a way to … RecyclerView, in Android development, is a very useful first-party library which replaces traditional ListView.Over my career, I have seen some anti-patterns of RecyclerView and misunderstandings of its adapter concept. Android’s DiffUtil and its DiffResult output have received lots of coverage, and all warn about how diff calculation is expensive and shouldn’t be done on the UI thread. CardView widget can be used to create simple cards. RecyclerView can do all works performed by ListView. In Android, RecyclerView is an advance and flexible version of ListView and GridView. In this tutorial I help you understand about the RecyclerView in Android by providing an easy example with clear steps to follow yourself. In order to add dividers to a RecyclerView, we first need a simple RecyclerView to put these dividers on. Coding Sonata. When combined with CardView, it can render even a more complex list. Step 1: Create New Project. MediaSessionCompat.OnActiveChangeListener, ActivityResultContracts.GetMultipleContents, ActivityResultContracts.OpenMultipleDocuments, ActivityResultContracts.RequestMultiplePermissions, ActivityResultContracts.RequestPermission, ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult, ActivityResultContracts.TakePicturePreview, ShareActionProvider.OnShareTargetSelectedListener, AsyncLayoutInflater.OnInflateFinishedListener, Class2BiometricOrCredentialAuthPrompt.Builder, Class3BiometricOrCredentialAuthPrompt.Builder, TrustedWebActivityDisplayMode.DefaultMode, TrustedWebActivityDisplayMode.ImmersiveMode, SurfaceRequest.TransformationInfoListener, ExtensionsErrorListener.ExtensionsErrorCode, ActivityCompat.OnRequestPermissionsResultCallback, SharedElementCallback.OnSharedElementsReadyListener, NotificationCompat.Action.WearableExtender, NotificationCompat.BubbleMetadata.Builder, NotificationCompat.CarExtender.UnreadConversation, NotificationCompat.CarExtender.UnreadConversation.Builder, NotificationCompat.DecoratedCustomViewStyle, NotificationCompat.MessagingStyle.Message, FingerprintManagerCompat.AuthenticationCallback, FingerprintManagerCompat.AuthenticationResult, ViewCompat.OnUnhandledKeyEventListenerCompat, WindowInsetsAnimationControlListenerCompat, WindowInsetsControllerCompat.OnControllableInsetsChangedListener, AccessibilityManagerCompat.AccessibilityStateChangeListener, AccessibilityManagerCompat.TouchExplorationStateChangeListener, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat, AccessibilityNodeInfoCompat.AccessibilityActionCompat, AccessibilityNodeInfoCompat.CollectionInfoCompat, AccessibilityNodeInfoCompat.CollectionItemInfoCompat, AccessibilityNodeInfoCompat.RangeInfoCompat, AccessibilityNodeInfoCompat.TouchDelegateInfoCompat, AccessibilityViewCommand.CommandArguments, AccessibilityViewCommand.MoveAtGranularityArguments, AccessibilityViewCommand.MoveHtmlArguments, AccessibilityViewCommand.MoveWindowArguments, AccessibilityViewCommand.ScrollToPositionArguments, AccessibilityViewCommand.SetProgressArguments, AccessibilityViewCommand.SetSelectionArguments, AccessibilityViewCommand.SetTextArguments, InputConnectionCompat.OnCommitContentListener, SimpleCursorAdapter.CursorToStringConverter, DynamicAnimation.OnAnimationUpdateListener, FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy, ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder, FragmentManager.OnBackStackChangedListener, FragmentManager.FragmentLifecycleCallbacks, BrowseFragment.MainFragmentAdapterProvider, BrowseFragment.MainFragmentRowsAdapterProvider, BrowseSupportFragment.MainFragmentAdapterProvider, BrowseSupportFragment.MainFragmentRowsAdapterProvider, HeadersFragment.OnHeaderViewSelectedListener, HeadersSupportFragment.OnHeaderClickedListener, HeadersSupportFragment.OnHeaderViewSelectedListener, SearchSupportFragment.SearchResultProvider, BrowseFragment.MainFragmentAdapterRegistry, BrowseSupportFragment.BrowseTransitionListener, BrowseSupportFragment.ListRowFragmentFactory, BrowseSupportFragment.MainFragmentAdapter, BrowseSupportFragment.MainFragmentAdapterRegistry, BrowseSupportFragment.MainFragmentRowsAdapter, DetailsSupportFragmentBackgroundController, RowsSupportFragment.MainFragmentRowsAdapter, LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener, LeanbackEditTextPreferenceDialogFragmentCompat, LeanbackListPreferenceDialogFragment.AdapterMulti, LeanbackListPreferenceDialogFragment.AdapterSingle, LeanbackListPreferenceDialogFragment.ViewHolder, LeanbackListPreferenceDialogFragmentCompat, LeanbackListPreferenceDialogFragmentCompat.ViewHolder, GuidedActionAutofillSupport.OnAutofillListener, AbstractDetailsDescriptionPresenter.ViewHolder, AbstractMediaListHeaderPresenter.ViewHolder, FullWidthDetailsOverviewRowPresenter.Listener, FullWidthDetailsOverviewRowPresenter.ViewHolder, FullWidthDetailsOverviewRowPresenter.ViewHolder.DetailsOverviewRowListener, FullWidthDetailsOverviewSharedElementHelper, ListRowPresenter.SelectItemViewHolderTask, ParallaxTarget.PropertyValuesHolderTarget, PlaybackControlsRow.ClosedCaptioningAction, PlaybackControlsRow.OnPlaybackProgressCallback, PlaybackControlsRow.PictureInPictureAction, RecyclerViewParallax.ChildPositionProperty, ViewModelProvider.AndroidViewModelFactory, NotificationCompat.DecoratedMediaCustomViewStyle, MediaLibraryService.LibraryParams.Builder, MediaLibraryService.MediaLibrarySession.Builder, MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback, RemotePlaybackClient.OnMessageReceivedListener, MediaRouteProvider.DynamicGroupRouteController, MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor, MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder, RemotePlaybackClient.SessionActionCallback, NavController.OnDestinationChangedListener, EditTextPreference.OnBindEditTextListener, PreferenceFragment.OnPreferenceDisplayDialogCallback, PreferenceFragment.OnPreferenceStartFragmentCallback, PreferenceFragment.OnPreferenceStartScreenCallback, PreferenceFragmentCompat.OnPreferenceDisplayDialogCallback, PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, PreferenceFragmentCompat.OnPreferenceStartScreenCallback, PreferenceGroup.PreferencePositionCallback, PreferenceManager.OnDisplayPreferenceDialogListener, PreferenceManager.OnNavigateToScreenListener, PreferenceManager.OnPreferenceTreeClickListener, MultiSelectListPreferenceDialogFragmentCompat, PreferenceManager.PreferenceComparisonCallback, PreferenceManager.SimplePreferenceComparisonCallback, RecyclerView.EdgeEffectFactory.EdgeDirection, RecyclerView.ItemAnimator.ItemAnimatorFinishedListener, RecyclerView.LayoutManager.LayoutPrefetchRegistry, RecyclerView.OnChildAttachStateChangeListener, RecyclerView.SmoothScroller.ScrollVectorProvider, RecyclerViewAccessibilityDelegate.ItemDelegate, RecyclerView.Adapter.StateRestorationPolicy, EncryptedSharedPreferences.PrefKeyEncryptionScheme, EncryptedSharedPreferences.PrefValueEncryptionScheme, SlidingPaneLayout.SimplePanelSlideListener, SupportSQLiteOpenHelper.Configuration.Builder, SwipeRefreshLayout.OnChildScrollUpCallback, androidx.vectordrawable.graphics.drawable, SeekableAnimatedVectorDrawable.AnimationCallback, FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener, FragmentStateAdapter.FragmentTransactionCallback, AmbientModeSupport.AmbientCallbackProvider, ComplicationProviderService.ComplicationUpdateCallback, TestWearableButtonsProvider.TestWearableButtonLocation, DimensionBuilders.ContainerDimension.Builder, DimensionBuilders.SpacerDimension.Builder, LayoutElementBuilders.ArcLayoutElement.Builder, LayoutElementBuilders.LayoutElement.Builder, DimensionBuilders.ExpandedDimensionProp.Builder, DimensionBuilders.ProportionalDimensionProp, DimensionBuilders.ProportionalDimensionProp.Builder, DimensionBuilders.WrappedDimensionProp.Builder, ResourceBuilders.AndroidImageResourceByResId, ResourceBuilders.AndroidImageResourceByResId.Builder, ResourceBuilders.InlineImageResource.Builder, ResourceAccessors.AndroidImageResourceByResIdAccessor, ResourceAccessors.InlineImageResourceAccessor, ResourceAccessors.ResourceAccessException, androidx.wear.watchface.complications.rendering, CircularProgressLayout.OnTimerFinishedListener, ConfirmationOverlay.OnAnimationFinishedListener, WearableLinearLayoutManager.LayoutCallback, WearableNavigationDrawerView.OnItemSelectedListener, WearableNavigationDrawerView.WearableNavigationDrawerAdapter, WebMessagePortCompat.WebMessageCallbackCompat, WebViewAssetLoader.InternalStoragePathHandler, ViewGroup.onInterceptTouchEvent(MotionEvent), onInterceptTouchEvent(RecyclerView, MotionEvent), androidx.recyclerview.widget.RecyclerView.OnItemTouchListener, androidx.recyclerview.widget.RecyclerView.SimpleOnItemTouchListener.