RecyclerView
の行の特定のビューを変更する方法。 Adapter.notifyDataSetChanged
またはAdapter.notifyItemChanged
行を更新しています。しかし、この行の他のビューに触れることなく、特定のビューを行単位で変更する必要があります。リサイクラビューで行の特定のアイテムを変更する
答えて
まず第一を使用することができます。より効率的です。
第2に、キャッシュメモリ内に既に同じイメージが存在する場合、デバイスは再び同じイメージをダウンロードしません。
今すぐ リスト内のデータを変更し、アダプタまたはリサイクラビューを更新してください。あなたのAdapterClassインサイド
さんがあなたの活動で、このインタフェースを実装し、このメソッドをオーバーライドその後
public interface TheUpdater{
public void updateMyAdapter(int position);
}
を言わせて、インターフェイスを作成します。
今、ビューの位置を取得します。
ビュー(ボタンまたは全体親ビュー、つまりレイアウト)のonClick()
を上書きして、次のステートメントを実行できます。
mTappedPosition = getAdapterPosition();
listener.updateMyAdapter(mTappedPosition); //Update the adapter
ここで、mTappedPosition
はグローバル変数です。
@Override
updateMyAdapter(int position){
---- //Do stuff
mAdapter.notifyItemSetChanged(position);
}
私は知っているが、問題はImageViewがPicasso経由でダウンロードするソースを持っていること、そしてnotifyDatasetChanged Picasso画像とこのアップデートがユーザーに見えるので、私はそれを防止したい –
アダプターの内部でビューの位置を取得できるでしょうか?はいの場合、私はそのための解決策を持っています。 – Dennis
はい、私は変更を行っているとき私は位置を得ることができます –
私はあなたがイメージのキャッシュ技術を使用する必要があり、画像の読み込みの問題を回避するためだと思います。既に読み込まれた画像は再び読み込まれません。
や画像がすでにロードされている場合
と一人ひとりの行は、あなたがあなたのitemModel(アダプタ項目のデータを持っているDTO)にブール型のフラグを保つことができる設定と同じ画像を示しています。そのモデルを変更してから電話するyourListToAdapter(index).setFlag(showImage1); // showImage1 boolean flag
yourAdapter.notifyItemChanged(index);
- 1. recylerview androidの特定のアイテムの色を変更する
- 2. テキストファイルリスト内の特定のアイテムを変更する
- 3. scatterplotの特定の点を行列で変更する
- 4. リサイクラビューで特定の位置のビューを更新するにはどうすればよいですか?
- 5. 行列内の特定の行の値を変更します。
- 6. bashの変数行番号を使って特定の行を変更する
- 7. パンダの特定の行の値を変更する
- 8. リストビューの特定の行の色を変更する方法
- 9. 特定の行の列値のみを変更するR
- 10. System.Windows.Forms.DataGridの特定の行のフォントを変更する
- 11. treeGridの特定の行の色を変更する方法
- 12. 各行のボタンを含むリサイクラビューのボタンの色を変更しました
- 13. 特定の行のグリッド線幅を変更する方法
- 14. 特定の列の後に行を変更する
- 15. Python Pandasマルチインデックス:特定のインデックス行の名前を変更する
- 16. Rails 3、行の特定の値を変更する
- 17. C#ファイル内の特定の行を変更する
- 18. ListView内の特定のアイテムを更新する
- 19. 特定のToolStripMenuアイテムを特定のユーザーに限定する
- 20. recyclerviewのフォーカスを特定のアイテムの位置に変更しますか?
- 21. 剣道グリッド行テンプレートの特定divクラスを変更する
- 22. パンダ:特定の行をパーセンテージに変更する
- 23. 特定のChecklistboxアイテムのフォントまたは色を変更していますか?
- 24. 特定のプロパティを変更する
- 25. 特定の属性を変更する
- 26. 特定のページを変更するUiPageViewController
- 27. ListViewの特定の行のテキストの色を変更します。
- 28. リストの特定のアイテムを更新できません
- 29. コピー、特定のアイテム
- 30. リストビュー内の特定の行を変更すると、別の行が変更を反映します。
平均を表示するには?申し訳ありませんが、私はあなたの行のラベル、ボタンの色や行のスタイルを変更するつもりです質問を得るddnt ..?行全体のビューを別のレイアウトxmlに変更したいですか? –
こんにちはビシュヌKR! 私は2つのimageViewと2つのtextViewを持っています。ユーザーが行をクリックするたびに、すべての行のこのtextVIewsの1つでテキストが変更されます。しかし問題は、別のimageViewがPicassoライブラリを介してソースを取得することです。また、notifyDataSetChangedなどを使ってテキストを変更するたびに、PicasaはimageViewを更新し、ユーザーに表示されます。私はこれが起こらないようにしたいので、質問は:行全体に触れることなく、どのように行の特定のビューを変更することができます –
ハア..あなたはピカソがその時にイメージをリロードすることを言っている。ですから、イメージキャッシング技術を使う必要があると思います。ピカソは既に画像が読み込まれていれば再度画像をロードしません。または、次のオプションは、アイテムモデル内のタグを使用して画像を表示して非表示にすることでブロックすることです。 –