問題タブ [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 投票する
1 に答える
5443 参照

android - layoutmanager.FindFirstCompletelyVisibleItemPosition は常に -1 を返します

Android プロジェクトに、各ビュー内にメディア コンテンツを表示する recyclerview があります。私が達成しようとしているのは、上下にスクロールしながらメディアを再生/一時停止できることです。完全に見えるビューのアダプター位置を取得する必要があります。私はこのようなことをしています。

私のアクティビティフラグメントには、次のものがあります。

スクロール リスナー イベントは次のようになります。

FindFirstCompletelyVisibleItemPosition問題は、ビューが完全に表示されている場合でも、linearlayout マネージャー メソッドが常に -1 を返すことです。FindFirstVisibleItemPositionやのような他のメソッドFindLastVisibleItemPositionは、ビューの正しい位置を示します。

ここで何が問題なのですか?

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

android - RecyclerView: アイテムがビューの下部に表示されるようにスクロール位置を設定します

高さの異なるアイテムを備えたアダプターに裏打ちされたRecyclerViewを持っています。項目 X が (多かれ少なかれ) 正確に画面の一番下に表示されるように、スクロール位置を設定するように指示する方法はありますか?LinearLayoutManagerRecyclerView

試してみLinearLayoutManager.scrollToPosition()ましたが、これによりアイテムがビューの上部に配置されます。

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

android - サポート ライブラリを 23.3.0 に更新した後、Android カスタム リニア レイアウト マネージャーが 0 アイテム数を返す

Android の設計およびサポート ライブラリを 23.3.0 に更新した後、カスタム リニア レイアウト マネージャーは次の例外をスローします。

この行でエラーが発生します:

RecyclerViewこれは、このレイアウト マネージャーをバインドするコードです。

以前のサポート ライブラリ バージョン 23.1.0 では正常に動作していましたが、更新後にエラーがスローされます。NavigationViewまた、23.1.0 デザイン ライブラリに追加できないため、23.3.0 に更新する必要があります。xml ファイルで次のエラーがスローされます。

ランタイムで次のエラーが発生します。

これを修正する方法を教えてください!

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

android - RecyclerView に追加されたアイテムが下部に表示されない

私はRecyclerViewテキストアプリタイプの方法でメッセージを表示するために使用しています。つまり、に追加された新しいメッセージRecyclerViewが下部に表示されるはずです。

現在、メッセージを下から表示するため.setStackFromEnd(true)に on myを使用しています。LinearLayoutManager

何が起こるかというと、十分な数のメッセージが受信され、メッセージのリストが画面の上部を超えてオーバーフローしそうになると、常に下部に新しいメッセージが表示されなくなります。新しい追加を表示するには、手動で下にスクロールする必要があります。

常に最新のメッセージを表示できるようにするかRecyclerView、新しいアイテムを受信したときに下にスクロールするようにするにはどうすればよいですか?

.scrollToPosition()レイアウトマネージャーでさまざまな方法を試し.scrollToPositionWithOffset()ましたが、これまでに見た提案はどれもうまくいきませんでした。この問題に関するいくつかの上位の StackOverflow の質問には、元の質問を解決することさえできない上位の回答があります..

それで、これはどのように行われますか?

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

android - RecyclerView の SaveInstanceState

これは私のデータです

これはOnCreateメソッドの私のリサイクラービューです

onSaveInstanceState と onRestoreInstanceState を使用してデータ リストを保存し、ローテーションで消えないようにするにはどうすればよいですか?

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

android - RecyclerView をスクロールする必要があるかどうかを確認する

を介して RecyclerView の特定の項目にプログラムでスクロールした後に発生するコールバックがありますLinearLayoutManager.smoothScrollToPosition()。ユーザーが項目をタップすると、右側の項目が RecyclerView の上部にスクロールされます。LinearLayoutManager をサブクラス化して、常にアイテムの上部にスナップするようにしました。
これは、スクロール イベントが発生した場合に機能しますが、RecyclerView が既に正しい位置にある場合は、onScrollStateChangedスクロールが発生しないため、コールバックを取得できません。とにかくそのイベントを取得する方法はありますか?RecyclerView をスクロールする必要があるかどうかを事前に決定しますか?