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

android - 最後の RecyclerView アイテムを RecyclerView のスペースに入れる (データ数が奇数の場合)

これまで recyclerView を作成しようとしてきましたが、今問題に直面しています。

こんな感じにすればいいのに

ここに画像の説明を入力

リストのようにグリッドにする必要がありますが、並べて配置することはできません。

次に、最後のアイテムが「単独」の場合、両方のスペースを埋める最後のアイテムが必要です。

何か案は?

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

android - アイテム削除時の Android LinearLayoutManager と再配置

LinearLayoutManager は、リサイクラーでアイテムを再配置するための基本的な実装を提供します。recyclerView で次の構成を想定しています。

E0 | え1え2え3 | E4

どこで | recyclerView の有効な境界を表します。E1 を削除すると、すべての再描画とアニメーションの後、次の最終設定になります。

E0 | E2 E3 E4 |

私は別の行動を達成する必要があります。基本的に欲しい

| | え0え2え3 | E4

画面の左または右のどの部分 (この場合は E2 に対して) に基づく他の要素の移動で、削除を行いました。基本的に、移動するパーツを選択するためのピボットとして、元の中心要素を使用する必要があります。

この動作は簡単には達成できないようです。stackFromEnd を設定しても問題は解決しません。これは、反対側の削除にアナログの問題があるためです。また、adapter.onItemRemoved を効果的に呼び出す前に実行時に stackFromEnd の値を変更しても、問題は解決しません。

0 投票する
3 に答える
557 参照

android - 行ごとに異なる spanCount を持つ RecyclerView

行ごとに異なる spanCount を持つ RecyclerView を取得する方法はありますか? つまり、新しいアイテムに収まる幅がなくなると、新しい行に分割されます。

必要なものがわかるように写真を添付し​​ました。

RecyclerView でできない場合は、 TableLayout でできますか? または listView ?

ここに画像の説明を入力

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

android - デバイスのフォーマットに応じて LayoutManager を変更する

カードのリストを含む RecyclerView があります。電話を使用する場合は RecyclerView の LayoutManager を Linear に、タブレットを使用する場合は StaggeredGrid にプログラムで変更できるかどうかを知りたいです。私の最初のアイデアは、アクティビティに同じコードを配置し、layout.xml のみを変更することでしたが、Android が異なる LayoutManagers を使用していることを考えると、それよりも複雑ではないようです。また、Cardslib ライブラリを使用してみましたが、カスタム カードの完全な例がないため、ドキュメンテーションに非常に混乱しました何か案は?

0 投票する
3 に答える
6713 参照

android - null ポインター例外のある RecyclerView

CMS からいくつかのニュース データを取得していて、それらを RecyclerView に表示したいと考えています。問題は、LinearLayoutManager を使用している行で null ポインター例外が発生していることです。logcat の出力は次のとおりです。

私が Web サービスの部分を行っている Fragment は非常に単純です。メソッドをコールバックするために使用します。ArrayList と RecyclerView を初期化している onCreateView と、Web サービスを実行している onActivityCreate です。

コードのこの部分が問題の原因です。

アプリの別のフラグメントで同じテクニックを使用してデータを取得しているため、これは奇妙です。

何か案は?

ありがとう。

0 投票する
0 に答える
1542 参照

android - RecyclerView は onLayoutChildren() でコンテンツを再描画します

私は正常に動作している RecyclerView ( FlowLayoutManager ) のカスタム LayoutManager を使用しています。これは、子のレイアウトに使用される関数です。

唯一の問題は、notifyDataSetChanges() または notifyItemChanges() を呼び出すと、onLayoutChildren() が再度呼び出され、recyclerview 全体がコンテンツを変更し、スクロールして一番上に戻ることです。

LinearLayoutManager がこの問題をどのように制御するかを確認しようとしましたが、私が望むほど理解できませんでした。

RecyclerView を現在の状態に保ち、コンテンツのみを変更するにはどうすればよいですか? または、以前と同じ位置にスクロールするにはどうすればよいですか?