タグ付けされた質問 「android-recyclerview」

RecyclerViewウィジェットは、ListViewとGridViewのより高度で柔軟なバージョンです。


7
RecyclerView水平スクロールスナップを中央に配置
ここでRecyclerViewを使用してカルーセルのようなビューを作成しようとしています。スクロールすると、アイテムが画面の中央に1つずつスナップするようにします。使ってみましたrecyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING); しかし、ビューはまだスムーズにスクロールしているので、次のようにスクロールリスナーを使用して独自のロジックを実装しようとしました。 recyclerView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); Log.v("Offset ", recyclerView.getWidth() + ""); if (newState == 0) { try { recyclerView.smoothScrollToPosition(layoutManager.findLastVisibleItemPosition()); recyclerView.scrollBy(20,0); if (layoutManager.findLastVisibleItemPosition() >= recyclerView.getAdapter().getItemCount() - 1) { Beam refresh = new Beam(); refresh.execute(createUrl()); } } catch (Exception e) { e.printStackTrace(); } …

15
AndroidRecyclerViewのスクロールパフォーマンス
リストとカードの作成ガイドに基づいて、RecyclerViewの例を作成しました。私のアダプターには、レイアウトを膨らませるためだけのパターン実装があります。 問題は、スクロールパフォーマンスが低いことです。これは、8つのアイテムしかないRecycleViewにあります。 一部のテストでは、AndroidLではこの問題が発生しないことを確認しました。しかし、KitKatバージョンでは、パフォーマンスの低下が明らかです。

2
RecyclerView.ViewHolder-getLayoutPositionとgetAdapterPosition
新しいサポートライブラリバージョン(22.x)以降、このトピックで説明されているメソッドの代わりに、クラスのgetPosition()メソッドはRecyclerView.ViewHolder非推奨になりました。ドキュメントを読んでも違いはありません。誰かが素人の用語の違いを説明できますか? 次のユースケースがあります-アダプタにを与え、List各リストアイテムに追加情報を関連付けられるようにしたいです。私は位置から追加へのマッピングを持っています、そして、彼らが彼らの位置のために余分をフェッチしてそれで何かをすることができるように、マッピングは所有者のために利用可能です。ホルダーでは、どの方法を使用すればよいですか? インデックス0と1のリストアイテムが入れ替わった場合、ホルダーの位置はどうなりますか?メソッドは何を返しますか?

8
Androidはgridlayoutmanagerを使用してrecyclerviewの最後の要素の下にスペースを追加します
で最後の要素行の下に間隔を追加しようとしRecyclerViewていGridLayoutManagerます。ItemDecorationこの目的のために、最後の要素が次のようになっているときに下部のパディングを使用してカスタムを使用しました。 public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private int space; private int bottomSpace = 0; public SpaceItemDecoration(int space, int bottomSpace) { this.space = space; this.bottomSpace = bottomSpace; } public SpaceItemDecoration(int space) { this.space = space; this.bottomSpace = 0; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) …

7
RecyclerViewの行内のハンドルボタンクリック
行のクリックを処理するために次のコードを使用しています。(ソース) static class RecyclerTouchListener implements RecyclerView.OnItemTouchListener { private GestureDetector gestureDetector; private ClickListener clickListener; public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) { this.clickListener = clickListener; gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { View child …

5
親のスクロールを停止(NestedScrollview)子をスクロールするとき(RecyclerView)
この実装と同様の動作が必要ですが、NestedScrollViewが親になり、RecyclerViewがNestedScrollViewの子になります。 例:https : //medium.com/widgetlabs-engineering/scrollable-nestedscrollviews-inside-recyclerview-ca65050d828a 子(RV)がスクロールしているときに親(NSV)の無効化を試みましたが、子でスクロールすると、親を含むビュー全体がスクロールされます。

3
:getView()がnullの場合、つまりonCreateView()の前またはonDestroyView()の後では、フラグメントビューのLifecycleOwnerにアクセスできません。
アプリケーションのすべてのネットワーク呼び出しと応答処理にライブデータを使用しています。 シナリオの1つでは、私のリサイクラービューがビューホルダーのデータをロードonBindし、応答がUIを更新しています。そのためにはlifecycleOwner、オブザーバーにを提供する必要があります。 リサイクラービューには独自のライフサイクルオーナーがないため、親フラグメントを使用して使用してparentFragment.viewlifecycleOwnerいますが、どういうわけかエラーが発生します。 親フラグメントにインスタンスがない場合、ビューホルダーはどのようにインスタンスを持つことができますか? viewModel.responseState.observe(parentFragment.viewLifecycleOwner, Observer { updateUI(it) }) 致命的な例外:java.lang.IllegalStateException:getView()がnullの場合、つまりonCreateView()の前またはonDestroyView()の後では、フラグメントビューのLifecycleOwnerにアクセスできません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.