android - recyclerview の更新の問題
仅有的幸福
仅有的幸福 2017-05-24 11:38:08
0
3
946

個人情報を設定するためのrecyclerviewを作成しました。以下に示すように:

クリックすると、次のようなプロンプトが表示されます:

選択が完了したら、以下に示すように、ユーザーは再選択を確認するかキャンセルするかを選択します:

選択が確認されると、recyclerview に戻ります。この変更を更新するにはどうすればよいですか? (画像は XML ファイルのデフォルト値です。ユーザーが選択した値に更新するにはどうすればよいですか?)

仅有的幸福
仅有的幸福

全員に返信(3)
漂亮男人

もう解決しました。最初に、データセットのデータを変更せずにrecyclerviewを更新する方法を見つけたいと思いました。しかし、結局のところ、それ以外に方法はなかったようです。
そこで、新しいデータセットクラス(非常に一般的な、データコンテンツ、set、getメソッド)を作成しました。 recyclerviewを呼び出すアクティビティでデータを初期化します。
システムカメラを呼び出した後にアクティビティを返したからです。したがって、上の図のインターフェイスを決定するアクティビティを呼び出す新しいメソッドがアクティビティ内に作成されます。この項目のデータが更新されたことをrecyclerviewアダプターに通知するために使用されます。アダプター内:

リーリー

まあ、オンラインのものとまったく同じです。 (他の方法を持っている人が答えてアイデアをくれることを願っています)

いいねを押す +0
巴扎黑

recyclerview を使用するのは少しやりすぎだと思われますが、TextView を直接使用して画像を設定するだけです。
xml:

リーリー

「OK」ボタンをクリックした後、次のコマンドを使用してください:
setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom) 新しいアバターを設定します

いいねを押す +0
習慣沉默

私たちのアプリはこの種のビジネスを段階的に実行するためのいくつかの計画があります

  • 画像の選択が完了したら、startActivityForResult()を使用して、前のアクティビティにuriと位置を渡し、位置に応じてデータ内のuriを変更してデータを更新します

  • ブロードキャストを使用し、URIと位置を受信できるブロードキャストをカスタマイズし、リストページに登録し、画像を選択してブロードキャストを送信し、後は上記と同じ操作を行います

  • イベントバスを使用します。EventBusを選択し、リストページにイベントを登録し、画像を選択して、対応するメッセージを送信します

当初は、サードパーティのライブラリの導入を避けるために、主に startActivityForResult とブロードキャストを使用していましたが、同時に 2 つのページが相互に直接呼び出すことはなく、その後、同様のビジネスが利用できるようになりました。お気に入りをクリックしたり、詳細ページでコメントを追加したりするなど、リストページでコメントとコレクションの数を更新する必要があります...これら 2 つの方法を使用すると、コードがどんどん冗長になってしまうため、EventBus を導入しました。コードの量は減りますが、コードの可読性も向上し、コードが結合されており、このライブラリは非常に小さくて使いやすいため、被験者はこのライブラリを直接使用することをお勧めします

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート