問題タブ [linearlayoutmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
18 に答える
49920 参照

android - RecyclerView - 毎回機能しない位置へのスクロール

水平スクロール可能な を実装しましたRecyclerView。私RecyclerViewは aLinearLayoutManagerを使用していますが、私が直面している問題は、scrollToPosition(position)orsmoothScrollToPosition(position)または fromを使用しようとしたときLinearLayoutManagerですscrollToPositionWithOffset(position)。どちらも私にはうまくいきません。スクロール呼び出しが目的の場所にスクロールしないか、OnScrollListener.

これまで、さまざまなコードの組み合わせを試してきたので、ここにすべてを掲載することはできません。以下は私のために働くものです(しかし部分的にのみ):

このscrollToPositionWithOffset()ため選択しましたが、GridLayoutManager の代わりに LinearLayoutManager を使用しているため、おそらくケースが異なります。しかし、解決策は私にも有効ですが、先ほど述べたように、部分的にしか機能しません。

  • スクロールの呼び出しが 0 番目の位置から totalSize - 7 までの場合、スクロールは魅力的に機能します。
  • スクロールが totalSize - 7 から totalSize - 3 の場合、初めてリストの最後の 7 番目の項目までスクロールします。2回目ですが、うまくスクロールできます
  • totalSize - 3 から totalSize までスクロールすると、予期しない動作が発生し始めます。

誰かが回避策を見つけた場合は、感謝します。私のカスタムコードの要点はReyclerViewのとおりです。

0 投票する
1 に答える
2103 参照

android - Android: カスタム LinearLayoutManager が recyclerView のスクロールを許可しない

カスタム LinearLayoutManager を使用して、recyclerView のスクロールを無効/有効にしています。

これを使用して RecyclerView を設定すると、isScrollEnabled を true に設定してもまったくスクロールしません。

誰でも助けることができますか?

0 投票する
2 に答える
1303 参照

android - 1 つの LinearLayoutManager は 1 つの RecyclerView に対してのみですか?

アイテムの水平リストを表示するために、1 つのフラグメントに 3 つの RecyclerView を持つアプリを構築しています。LinearLayoutManager オブジェクトを作成し、3 つすべての RecyclerView に設定しました。しかし、1 つの LinearLayoutManager は 1 つの RecyclerView にのみアタッチできると言って、アプリをクラッシュさせます。同じプロパティが必要なのに、すべてにアタッチできないのはなぜですか。コードは..

エラー

0 投票する
1 に答える
867 参照

android - LinearLayoutManager をカスタマイズするには?

このような効果(アイテムの半分を表示)を実現する方法,カスタムを使用しようとしましたが、方法LinearLayoutManagerが理解できずに失敗しましたonMeasure

ここに画像の説明を入力

0 投票する
4 に答える
4043 参照

android - RecyclerView LinearLayout マネージャーは、ランドスケープ モードで常に -1 を返します - findLastCompletelyVisibleItemPosition()

findLastCompletelyVisibleItemPosition()RecyclerView で最後に表示されるアイテムを特定するために使用しています。

レイアウトの設定方法のコード スニペットを次に示します。

レイアウト XML:

縦向きモードでは、これは正常に機能し、常に正しい位置に戻ります。

ただし、ランドスケープ モードでは、返される位置は常に -1 です。

私の質問は:

なぜこれが起こるのか誰か知っていますか?

これをオーバーライドして正しい位置を返すにはどうすればよいですか?

または、ランドスケープの最後のアイテムの正しい位置を取得するための別のソリューションを誰かが推奨できますか?

0 投票する
1 に答える
729 参照

android - RecyclerViewとLinearLayoutManagerでアイテム数に関係なくアイテムを一番上に表示する方法は?

私はアイテムのリストを持っています。これらの項目は日付順に並べられています。今より前の日付の項目 (「古い」項目) は、ユーザーがアプリケーションを開いたときに表示されるべきではありませんが、ユーザーはリストを上にスクロールすることで表示できるはずです。

position将来の日付を持つ最初のアイテム (「新しい」アイテム)を見つけて、 を呼び出しますrecyclerView.scrollToPosition(position)

私も試しlayoutManager.scrollToPositionWithOffset(position, 0)ました。

これは、リストに多くの「新しい」アイテムがある場合に機能します。

ただし、項目が少なすぎる場合 (たとえば、「古い」アイテムと「新しい」アイテムが 1 つずつ)、これらの方法は機能しません。

リスト内のアイテムの数に関係なく、プログラムでリストを特定の位置のアイテムにスクロールして、このアイテムを一番上に配置するにはどうすればよいですか?

0 投票する
1 に答える
1035 参照

android - Vertical RecyclerView 内に Horizo​​ntal RecyclerView を表示するとちらつき効果が発生する

私は を持っておりVertical RecyclerView、この垂直のRecyclerView's各項目には が含まれていますHorizontal RecyclerView。だから私はこれを行い、パフォーマンス要因を除いて正常にVertical RecyclerView動作しました。垂直リストをスクロールすると、ちらつき、悪い動作が発生します。Adapter水平方向RecyclerViewは垂直方向に設定してRecyclerViewいるため、スクロールするたびに新しいアダプターを作成してデータを設定していますが、実際にはこれがパフォーマンスの原因です。これを最適化する方法はありますか?

コード