問題タブ [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.

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

android - RecyclerView が毎回データを正しく表示しない

recyclerview では、最初の実行時に出力が表示されることもあれば、2 回目または 3 回目に出力が表示されることもあります...そして最悪の場合、データがまったく表示されないことがあります。データを取得しているリンクは正常に機能しています。誰かが私がどこで間違いを犯しているか教えてもらえますか. この問題に関する他の回答を見ましたが、うまくいきませんでした!

アダプターコードはこちら

そして、これが私のJSONクラスです

そして、これが私がデータを表示しているアクティビティコードです

そして、これが私が使用しているXMLレイアウトです

同じパターンを使用するアクティビティがいくつかあります...データが説明どおりに表示される場合と、そうでない場合があります。どんな助けでも大歓迎です。

編集: recyclerViewAdapter.notifyDataSetChanged() を使用した後、NPE を取得しています。このメソッドのリフを取得する方法についての提案。

notifyDataSetChanged() を追加した後の完全な LogCat は次のとおりです。

致命的な例外: AsyncTask #1 プロセス: admin.myproject、PID: 27693 java.lang.RuntimeException: Android.os.AsyncTask$3.done(AsyncTask.java:309) で doInBackground() を java.util で実行中にエラーが発生しました。 java.util.concurrent.FutureTask.setException(FutureTask.java:223) で、java.util.concurrent.FutureTask.run(FutureTask.java:242) android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) で java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:588) で java.lang.Thread.run(Thread.java:818) 原因: java.lang.NullPointerException: 仮想メソッド 'void admin.myproject.RecyclerViewAdapter.notifyDataSetChanged()' を呼び出そうとしていますadmin.myproject.JSONAsync.downloadUrl(JSONAsync.java:76) の null オブジェクト参照で admin.myproject.JSONAsync.doInBackground(JSONAsync.java:40) で admin.myproject.JSONAsync.doInBackground(JSONAsync.java:23) android.os.AsyncTask$2.call(AsyncTask.java:295) で java.util.concurrent.FutureTask.run(FutureTask.java:237) で android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) で java.lang.Thread.run(Thread.java) :818) 

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

android - カード ビュー間の距離が大きすぎます

カードビューとリサイクラー ビューを使用していますが、以前は同じコードを使用して問題なく処理を行っていましたが、現在はフラグメントを使用しています。これで、カードビュー間の距離が大きくなりました。私のリサイクラー ビュー アダプター

私のカードビュー

エラー ここに画像の説明を入力

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

android - リサイクラー ビューの重複アイテムの作成

アイテムのリストを作成するためにリサイクラー ビューを使用していますが、リストに重複したアイテムが表示されます。30 サイズのリストを Recycler View Adapter に渡しました。作成されたリストには 30 個の項目がありますが、一意の項目は 3 つしかなく、他のすべては 3 つの一意の項目の繰り返しです。バグを見つけることができません。

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

android - RecyclerView Last Item に奇妙なアニメーションが表示される

RecyclerView単一の item 、2 つの s に 2つのビューがあり、RelativeLayoutある時点で両方RelativeLayoutsを反転LayoutAして0 to 180います。それは完璧に機能しますが、画面にスペースがない場合 (例: の最後の項目)、このフリップを開始する前に、奇妙な効果が得られますLayoutB-180 to 0RecyclerView

気が狂う

フリップイン

アダプターコード

scrollToPositionメソッドへの呼び出しを行っていませんが、logcatはこれを繰り返し出力します

ログキャット

これに対する修正はありますか?

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

java - 更新後に RecyclerView アイテムのサイズが変わる

私はRecyclerView次の画像が示すように持っています:

RecyclerView

これは、このセットアップ コードですRecyclerView

RecyclerView の選択した項目を更新する新しいアクティビティを開始した後、RecyclerView には新しい変更を反映するために新しいデータが再入力されますが、次の結果が得られます。

結果1

そして、下にスクロールすると、次のギャップが生じます。

結果2

更新後に , を呼び出してみましたが、役に立ちませんRecyclerView#invalidate()でし#invalidateItemDecorations()た。#requestLayout()&私も電話setHasFixedSize(true)していませんRecyclerView

問題は正確には何ですか?リフレッシュ後にコンテンツを正確にラップするように、子アイテムのサイズを変更するにはどうすればよいですか?

(PS: 何も変更せずにリフレッシュしようとしましたが、何も起こりませんでした。これは、子アイテムの高さが変更された場合にのみ問題が発生するという私の理論を証明しています。)