問題タブ [android-recyclerview]
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.
android - Recyclerview が表示される前に測定する
recyclerView が表示される前に測定すると、現在問題が発生しています。「展開」アニメーションを開始するには、measuredHeight が必要です。
これは、私が取り組んでいるコードの gridView に対して以前に行われたもので、GridLayoutManager を使用して RecyclerView に移行しようとしています。
gridView で動作していましたが、recyclerView で同じ測定仕様で測定メソッドを呼び出すと、結果は常に 16777215 になり、何かの最大値である可能性がありますが、何とも言えません。
次の測定仕様で測定することにより、画面にレンダリングされる前にビューを測定できることを説明する投稿を見ました。
しかし、recyclerView.getMeasuredHeight(); に対して 0 を取得します。
画面にレンダリングされる前に recyclerView の高さを適切に測定する方法はありますか?
ありがとう。
java - RecyclerView.OnItemTouchListener から GestureDetectorCompat に MotionEvents を渡す
RecyclerView.OnItemTouchListener を実装する Fragment があります。RecyclerView から GestureDetectorCompat にのみクリックおよびロングクリック モーション イベントを渡すにはどうすればよいですか。つまり、クリックとロングクリックのみを処理したいということです。残りのイベントは、通常どおりに RecyclerView で処理する必要があります。どうすればこれを設定できますか?
android - RecyclerView に相当する addHeaderView はありますか?
リサイクラー ビューの addHeaderView に相当するものを探しています。基本的に、2 つのボタンを含む画像をヘッダーとしてリストビューに追加したいと考えています。ヘッダー ビューをリサイクラー ビューに追加する別の方法はありますか? ガイダンスの例が役立ちます
編集 2 (フラグメント レイアウトを追加):
ログ ステートメントを追加した後、getViewType が 0 の位置しか受信しないように見えます。これにより、onCreateView は 1 つのレイアウトのみをロードします。
CommentFragment をロードするためのフラグメント遷移:
フラグメントの onCreateView:
recycleview を含むフラグメント:
コメント行のレイアウト:
ヘッダー
アダプターコード (私を始めてくれた hister に感謝します):
上記のコードを使用すると、viewType が常に 0 であるため、ヘッダー レイアウトのみが表示されます。他のレイアウトを強制すると、次のようになります。
android - RecyclerView で GridLayoutAnimation を使用するにはどうすればよいですか?
GridView を新しい RecyclerView (GridLayoutManager を使用) に置き換えようとしていますが、gridLayoutAnimation ( ClassCastException: LayoutAnimationController$AnimationParameters cannot be cast to GridLayoutAnimationController$AnimationParameters
) にうまく対応していないようです。通常のレイアウト アニメーションで動作しますが、グリッドであるため、タブレットでは完了するのに時間がかかりすぎます。
私が達成しようとしているのは、Hierarchical Timingに似ています。例のビデオを見ると、レイアウト アニメーションが左上から右下に斜めに移動することがわかります。通常のレイアウト アニメーションは行ごとにアニメーションを実行するため、大きなグリッド (タブレットなど) では完了するのに時間がかかりすぎます。ItemAnimator も調べてみましたが、「しない」の例のように、すべてのセルで同時にアニメーションを実行するだけです。
RecyclerView でこのグリッド レイアウト アニメーションを実現する方法はありますか?
これは gridview_layout_animation.xml です。
これがアニメーションの grow_in.xml です。
編集: Galaxas0 の回答に基づいて、拡張するカスタム ビューを使用するだけで済むソリューションを次に示しますRecyclerView
。基本的にattachLayoutAnimationParameters()
メソッドをオーバーライドするだけです。これ<gridLayoutAnimation>
は、GridView と同じように機能します。
android - RecyclerViewでエンドレスリストを実装するには?
ListView
に変更したいと思いRecyclerView
ます。の を使用して、onScroll
ユーザーがリストの最後までスクロールしたかどうかを判断したいと考えています。OnScrollListener
RecyclerView
REST サービスから新しいデータをフェッチできるように、ユーザーがリストの最後までスクロールしたかどうかを知るにはどうすればよいですか?
android - エラー: 属性「テーマ」は既に定義されています
アプリケーションの構築に Android studio を使用しています。私はこの次の依存関係を使用しています:
- 再生サービス:
compile 'com.google.android.gms:play-services:5.2.08'
- アプリ戦闘 v7 :
compile 'com.android.support:appcompat-v7:21.0.0'
- カードビューをサポート:
compile 'com.android.support:cardview-v7:21.0.0'
- リサイクラー ビューをサポートします。
compile 'com.android.support:recyclerview-v7:21.0.0'
アプリのビルド中に次のエラーが発生します。
コード スタイル.xml
コード wallet_attrs.xml
android - recycleview/cardview 内でクリックされたボタンを特定するにはどうすればよいですか?
Jacob Tabok の投稿を参照して、 OnItemTouchListenerを Fragment の onCreateView に追加しました。
提案されたプラクティスを使用して、カードビュー内のどのボタンがクリックされたかを判断する方法がまったくわかりません。問題は、ここに示すように、クリックしたアイテムではなくカードビュー全体が返されることです。
どのボタンがクリックされたかを特定するにはどうすればよいですか? 多くのフラグメント トランザクションを行っているため、この投稿でのビューホルダーの提案は避けたいと思います。
android - RecyclerView: 選択したアイテムを強調表示する
を実装し、RecyclerView
使用するように設定しましたCAB
。しかし、選択したアイテムを強調表示するにはどうすればよいですか? 私がチェックした特定の位置がSparseBooleanArray
. 私の最初の考えは、View
すべての要素を含む特定のものを my に保存しViewHolder
、次にonBindViewHolder
何らかの方法で背景を設定することでした:?android:attr/activatedBackgroundIndicator
しかし、どうすればそれを行うことができますか? それは有用なアプローチですか?