問題タブ [android-viewholder]
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 - ListView で fastScrollEnabled が使用されている場合、スムーズにスクロールしません。
アプリでリストビューを使用しています。カスタム アダプターを作成し、ビューホルダーのデザイン パターンを使用しました。問題は、スクロールをスムーズにスワイプしてリストビューをスクロールするときですが、fastscroll サムをドラッグしてスクロールすると遅延が大きすぎることです。頻繁に一瞬フリーズします。デフォルトの音楽プレーヤー、どのようにスクロールしても風のようにリストビューがスクロールするなど、携帯電話の他のアプリケーションを確認しました。リストでイメージビューを使用していません。行ごとに 3 つのテキストビューのみです。
完全なコードは次のとおりです。
およびリストビュー xml:
そしてそれを呼び出す:
android - ビューホルダーのボタンクリックでフラグメントを置換
ビューホルダーのボタンクリックでフラグメントを置き換えたい。
ビューホルダー
listviewを構成するFragmentAのアダプタクラス
フラグメントA
フラグメントを置き換えるときに nullpointerexception を与える
ログキャット
android - ビューホルダーを使用してもビューはリサイクルされます
そこで、このレイアウトを使用するアイテムのカスタム リストビューを作成しました。
このリストビューのカスタム アダプターは次のとおりです。
リストアイテムをクリックすると背景が青色に変わりますが、リストビューを下にスクロールすると、他のリストアイテムも青色の背景になります。ビュー ホルダー パターンを使用していますが、なぜ機能しないのですか? なぜそれはまだ繰り返されているのですか?私は何か見落としてますか?
前もって感謝します。
更新:コードを少し修正できましたが、まだ問題が残っています。上部からいくつかのリスト項目を選択するとビューがリサイクルされなくなりましたが、下にスクロールして戻ってくると、選択したビューが選択解除されたのではなく、余分なビューが選択されていません。一方、リストビューの下部からいくつかのリスト項目を選択して上にスクロールすると、それらがリサイクルされていることがわかります。なぜそれが起こっているのかわかりません。助けてください。
これが私の更新されたコードです:
android - スクロール時にトグル ボタンのチェックを外したリスト アダプター。ここから複数のソリューションを試しましたが、うまくいきませんでした
私のアダプター(私のアプリの残りの部分で機能しているスタイル)が問題を引き起こしています。これは、切り替え可能なボタンを持つ最初のリストです。各 listItem には toggleButton があり、トグルして下にスクロールしてから上に戻ると、自動的にチェックが外れます。過去2日間、リサイクルの無効化からビューホルダーの追加まで、SOとは異なるソリューションを試してみましたが、どちらもうまくいきませんでした。
コードが少しごちゃごちゃしているように見えるかもしれませんが、理解できることを願っています。変数は変更されており、すべてのインスタンスを取得したと確信していますが、主にロジック/構文について助けが必要です。私が持っている ViewHolder コードの一部は表示していません。主な理由は、それがさらに混乱を招くからです。
私がそれぞれに等量の文字列値を送信した String[]s。
私はあらゆる助けを楽しみにしています。
ありがとうございました!
android - Listview は、ViewHolder パターンを使用して Imageview でビットマップをレンダリングできません
それは非常に奇妙ですが、本当です。リストのパフォーマンスを向上させるために ViewHolder パターンを使用しています。getView() メソッドにはビットマップがありますが、以下のコードはリストビュー アイテムのイメージビューでビットマップをレンダリングできません。
上記は、リスト行のイメージビューでビットマップをレンダリングできません。しかし、以下のコードは
この場合、すべて(検索、イメージビューへのビットマップの割り当て)は正常に機能します。しかし、レイアウトのインフレーションが毎回発生するため、これはリストのパフォーマンスの低下につながります。
親切に助けてください。
注: 別の AsyncTask でビットマップをダウンロードし、最初にアダプターに渡される arraylist に割り当てます。
android - ViewHolderパターンのクリック時の問題ですが、getViewでは問題がありません
アダプタ コードを基本getView()
からViewHolder
パターンに変更しています。私のアダプターには one TextView
、 one ImageView
、 oneがありImageButton
ます。すべて問題ないように見えますが、ImageButton
. 両方のコードを投稿します (1 つはgetView()
で、もう1 つはViewHolder
です)。のものは完全に機能するので、 のどこで間違っているのgetView()
か理解できないので、ここで質問しています。ViewHolder
ImageButton
getView() を使用したアダプタ クラス
ViewHolder を持つアダプター クラス
ご覧のとおり、内部のコードonClick()
は同じですが、ViewHolder
機能しません。誰かが理由を説明できますか? Ps さらにコードやクラスが必要な場合は教えてください。回答を編集します。
android - ViewHolder ImageView setVisibility が繰り返されます
ViewHolder パターンのアダプターがあります。TextView と ImageView があります。ImageView を表示するかどうかを確認するには、アダプターのデータベースを確認する必要があります。問題は、可視性を View.VISIBLE に設定し、他の位置にある他の ImageView にも設定することです。私のデータベースには、これらのイメージビューに関連するデータは含まれていませんが、正しく設定されているデータのみが含まれていると確信しています。
これが私のコードです(うまく機能したため、テキストビューのセットの一部を削除しました):
そして、ここに私が意味する画面があります:
上記の X のイメージビューではなく、円のイメージビューのみを追加する必要があります。リストビューを下にスクロールすると、ビューホルダーは可視性をデータベースにない他のイメージビューにも表示するように設定しました。
android - ViewHolder が内部クラスではない
RecyclerView.ViewHolder
内部クラスとして使用できますか? そうすることに問題はありますか?
私は周りを検索しましたが、それに関するドキュメントは見つかりませんでした!