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

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


6
コードでRecyclerViewのスクロールバーを有効にする方法はありますか?
見てきたように、RecyclerViewはListViewよりも効果的であるため、プロジェクトで使用することを好みます。しかし、最近、カスタムViewGroupに配置すると問題が発生します。RecyclerViewは、次のようにxmlでスクロールバーを簡単に設定できます。 <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" /> しかし、RecyclerViewのコードでスクロールバーを設定するメソッドが本当に見つからないので、試してみました。 mRecyclerView.setVerticalScrollBarEnabled(true); そして、Androidのドキュメントでこれを見ました。 だから私は自分のLayoutManagerを作成して、必要だと思った関数をオーバーライドしようとしました。しかし、最終的に私は失敗しました。だから、私が自分でLayoutManagerを作成する方法を教えてもらえますか?ありがとうございました!

6
RecyclerViewアイテムへの波及効果の追加
RecyclerViewのアイテムにリップルエフェクトを追加しようとしています。オンラインで調べましたが、必要なものが見つかりませんでした。私はそれがカスタムエフェクトである必要があると思います。RecyclerView自体にandroid:background属性を試し、「?android:selectableItemBackground」に設定しましたが、機能しませんでした。 <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:clickable="true" android:background="?android:selectableItemBackground" android:id="@+id/recyclerView" android:layout_below="@+id/tool_bar"/> これは、エフェクトを追加しようとしているRecyclerViewです。

9
Espressoを使用してRecyclerViewアイテム内のビューをクリックする
Espressoを使用してRecyclerViewアイテム内の特定のビューをクリックするにはどうすればよいですか?次を使用して、位置0の項目をクリックできることを知っています。 onView(withId(R.id.recyclerView)) .perform(RecyclerViewActions.actionOnItemAtPosition(0, click())); しかし、アイテム自体ではなく、そのアイテム内の特定のビューをクリックする必要があります。 前もって感謝します。 -編集- より正確に言うと、私はRecyclerView(R.id.recycler_view)を持ち、どのアイテムがCardView(R.id.card_view)であるかを示しています。各CardViewの内部には4つのボタンがあり(特に)、特定のボタン(R.id.bt_deliver)をクリックします。 Espresso 2.0の新機能を使用したいのですが、それが可能かどうかはわかりません。 それが不可能な場合は、次のようなものを使用します(Thomas Kellerコードを使用)。 onRecyclerItemView(R.id.card_view, ???, withId(R.id.bt_deliver)).perform(click()); しかし、疑問符に何を付けるかわかりません。



11
Nested Scrollviewスクロール内のRecyclerviewですが、通常のRecyclerviewまたはNested Scrollviewのように高速スクロールしません。
私はRecyclerView内部NestedScrollViewを使用していますが、動作します。でもRecyclerView中LinearLayoutなどで使うと、ジェスチャーによって様々なスピードでスクロールしてしまいます。スクロールはジェスチャーを聞き、少しだけ上にスライドすると少しスクロールしますが、上に非常に速くスライドすると非常に速くスクロールします。今私の問題は、RecyclerView内部がNestedScrollView確かにスクロールするが、高速スクロールが機能しないことです。しかし、私は速いか遅い上にスライド、RecyclerViewまたはNestedScrollView少しだけスクロールします。 スクロールビューNestedScrollViewまたはRecyclerViewその内部をさまざまな速度でスクロールさせるにはどうすればよいですか?

12
RecyclerViewでデータを更新し、スクロール位置を維持する
RecyclerView(notifyDataSetChangedアダプターを呼び出して)に表示されるデータを更新し、スクロール位置が正確に元の位置にリセットされていることを確認するにはどうすればよいですか? 良い結果が得られた場合、必要なListViewことは、取得getChildAt(0)、チェック、その後の同じ正確なデータのgetTop()呼び出しだけsetSelectionFromTopです。 の場合は出来ないようですRecyclerView。 私はLayoutManager確かにそれを提供するwhich を使用することになっていると思いscrollToPositionWithOffset(int position, int offset)ますが、位置とオフセットを取得する適切な方法は何ですか? layoutManager.findFirstVisibleItemPosition()とlayoutManager.getChildAt(0).getTop()? または、仕事を完了するためのよりエレガントな方法はありますか?


11
スクロール中にRecyclerViewが最下部の位置に到達したことを検出します
RecyclerView用のこのコードがあります。 recyclerView = (RecyclerView)rootview.findViewById(R.id.fabric_recyclerView); recyclerView.setLayoutManager(layoutManager); recyclerView.addItemDecoration(new RV_Item_Spacing(5)); FabricAdapter fabricAdapter=new FabricAdapter(ViewAdsCollection.getFabricAdsDetailsAsArray()); recyclerView.setAdapter(fabricAdapter); スクロール中にRecyclerViewが最下部の位置に到達するタイミングを知る必要があります。出来ますか ?はいの場合、どのように?

21
RecyclerViewのCheckBoxは、さまざまな項目をチェックし続けます
これがRecyclerView内のアイテムのXMLです <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/cvItems" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_margin="2dp" card_view:cardElevation="0dp" card_view:contentPadding="0dp" card_view:cardBackgroundColor="#FFFFFF" > <LinearLayout android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent"> <TextView android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="0.8" android:id="@+id/tvContent" android:textSize="15dp" android:paddingLeft="5dp" android:paddingRight="5dp" /> <CheckBox android:id="@+id/cbSelect" android:layout_width="0dip" android:layout_weight="0.2" android:layout_height="match_parent" android:button="@drawable/cb_checked" android:gravity="center_horizontal" android:textAlignment="center" android:layout_gravity="center_horizontal" /> </LinearLayout> </android.support.v7.widget.CardView> そして、これが各アイテムの上記のレイアウトを膨らませるRecyclerViewアダプターです。 public class AdapterTrashIncome extends RecyclerView.Adapter<AdapterTrashIncome.ViewHolder> { private ArrayList<ObjectIncome> myItems = new ArrayList<>(); …

7
ItemTouchHelper.SimpleCallbackを使用して、RecyclerViewの位置のスワイプを無効にします
recyclerview 22.2.0とヘルパークラスItemTouchHelper.SimpleCallbackを使用して、リストのスワイプして閉じるオプションを有効にしています。ただし、ヘッダーのタイプがあるため、アダプターの最初の位置のスワイプ動作を無効にする必要があります。以下のようRecyclerView.AdapterはありませんISENABLED()メソッドを、私はメソッドを介してビューの相互作用を無効にしようとしたISENABLED()とisFocusable() ViewHolderの作成自体ではなく、全く成功していません。SimpleCallbackのメソッドgetSwipeThreshold()の0f ot 1fのように、スワイプしきい値を完全な値に調整しようとしましたが、成功しませんでした。 あなたが私を助けるのを助けるための私のコードのいくつかの断片。 私の活動: @Override protected void onCreate(Bundle bundle) { //... initialization ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { return false; } @Override public float getSwipeThreshold(RecyclerView.ViewHolder viewHolder) { if (viewHolder instanceof CartAdapter.MyViewHolder) return 1f; return …

21
Android 5.0でRecyclerViewを使用しようとするとアプリがクラッシュする
新しいRecyclerViewをいじろうとしています。実行しようとすると、アプリがすぐにクラッシュします。からメソッドにアクセスしようとするとNullPointerExceptionが発生しますandroid.support.v7.widget.RecyclerView。私は他の投稿を見て、ほとんどの人が持っていなかったことcompile 'com.android.support:recyclerview-v7:+'がわかりましたが、私はそれを試しました、そしてそれはまったく助けにはなりませんでした。この時点で何をすべきか本当にわからない、どんな助けもいただければ幸いです。ここでエラーログ:(私は写真を投稿しますが、まだ10人の担当者がいません) java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:1764) at android.view.View.measure(View.java:17430) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17430) …

22
RecyclerView for Android L-プレビューをインポートする方法
サポートライブラリから新しいRecyclerViewを使用しようとしています。SDK Managerを使用して、サポートライブラリの20アップデートをダウンロードしました。 jarファイルをlibsフォルダーに追加し、ビルドパスに追加しました。RecyclerViewを使用してもうまくいきません。 Android開発者のAPIに従って、gradle依存関係も使用しようとしました-これが適切な場所かどうかは不明です-このページはAndroidTVに関連しています: com.android.support:recyclerview-v7:20.0.+ プロジェクトをGradle同期できません。 何か案は?

3
SpanSizeLookupを使用してGridLayoutManagerの項目のスパンを設定します
セクションヘッダーを使用してグリッドのようなレイアウトを実装したい。https://github.com/TonicArtos/StickyGridHeadersを考えてください 私が今していること: mRecyclerView = (RecyclerView) view.findViewById(R.id.grid); mLayoutManager = new GridLayoutManager(getActivity(), 2); mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { switch(mAdapter.getItemViewType(position)){ case MyAdapter.TYPE_HEADER: return 1; case MyAdapter.TYPE_ITEM: return 2; default: return -1; } } }); mRecyclerView.setLayoutManager(mLayoutManager); 現在、通常のアイテムとヘッダーの両方のスパンサイズは1です。これを解決するにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.