問題タブ [recyclerview-layout]
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 で選択したアイテムごとに、大量の異なるアクティビティを作成する必要がない方法が見つかりませんでした。
前もって感謝します。
android - RecyclerView が見つかりませんでした
私はアンドロイド開発が初めてです。メール アクティビティでリサイクラー ビューを作成しています。
アクティビティのレイアウトを次のように定義しました。
MainActivity.java で、RecyclerView のインスタンスを作成すると、リサイクラー ビューを解決できませんでした。
アプリ gradle は次のようになります。
私が間違っていることを教えてください。また、さらに情報を追加する必要がある場合はお知らせください。
sqldataadapter - MainActivity から RecyclerViewAdapter に通知する
私のMainActivity
では、データベースの変更のメソッドを処理し、ツールバーのアイコンのクリックもリッスンします。このアイコンは、データベースからのリスト (リサイクラー ビューに表示) を昇順/降順で並べ替えます。
しかし、問題は、アイコンをクリックすると、フラグメントを再度開いた後にのみリストが更新されることです。
私の考え: どうすればアダプタからメソッドを開くことができますか? MainActivity
または、何らかの方法でRecyclerView を更新しますか? アイデアを共有してくれてありがとう
編集: おそらく私は同様のシナリオを見つけました:)それで、RecyclerViewアダプターが表示されるフラグメントからリスナーを実装しようとし(メインアクティビティをリッスンし)、そこから Adapter.notifiyDataMoved() を呼び出す必要がありますか?
android-layout - Recycler View Item にリップル効果/タッチ ハイライトが表示されていません。ジェスチャ Detractor を使用して Listener を適用しました
recyclerView.addOnItemTouchListener(new MyListClickListener(getContext(), new MyListClickListener.ClickListener() { @Override public void onClick(View v, int position) {
public class MyListClickListener は RecyclerView.OnItemTouchListener を実装します {
}
android - Android で行の高さを変更すると、RecyclerView のオフセットが低下する
最近、カスタム スクロールの作業を開始しRecyclerView
ましたが、問題が発生しました。ヘッダーのパララックスを行ったところ、うまく機能しましたが、スクロールすると行が拡張されるようにしたかったのです。この方法recyclerView.computeVerticalScrollOffset()
では、リストの最初の 2 つの項目に対しては正常に機能する必要がありましたが、その後はバラバラになります。
これが私のコードの例です:
そのため、レイアウト内の位置とリサイクルビューのオフセットに基づいて高さを計算する関数があります。2 番目のアイテムがY == 0
オフセットに達すると、半分に低下します (つまり、1200 から 600 に低下し、その後も継続しますが、計算はすべて間違っています)。
安定したオフセット値を取得する方法、または recyclerView の位置と一致するものに変更する方法に関するアイデア。
編集:
OK、問題を順を追って説明できます。
- アダプターの位置 (0) の要素の高さは 1200 です
- 他のすべての要素のデフォルトの高さは 300 です
- ユーザーが下にスクロールし始めると、position(1) の要素が高さ 300 から 1200 に拡大し始めます
--------- ここからコードが壊れ始めます... -----------
- 新しい高さ 1200 の position(1) の要素が画面の上部に到達したとき ( のとき
getTop() == 0
)、ここでのオフセットは約 900 です。 - この同じ要素が画面から外れ始める (ユーザーが下にスクロールしている) と、トップ画面とこの要素が衝突するポイント (0,0) のオフセットが半分になるため、オフセットは 900 になるはずのときに 450 になり、それから 450 以降になりますが、position(1) にある私の要素は、本来あるべきサイズの半分しかありません...