一般的なシナリオがありますが、それを処理する方法がわかりませんでした。
各アイテムが異なるクリック可能なビューを持つ ListView があります。そのうちの 1 つは、アイテムのユーザー名の横にフレンド ボタンとして追加されます。
したがって、ListViewAdapter の getView() で、このボタンの onClick をこの方法で実装しました。
onClick(){
//make the button invisible, for UX
//change the value of is_friend = 1, in the Adapter ArrayList, which will be helpful when listView is scrolled and getView is called again, to make it visible or invisible.
//Send the info to the server as an AsyncTask
}
これはうまくいきます。
問題:
[友達として追加] ボタンをクリックする代わりに、ユーザー名をクリックして彼のプロフィールに移動し、そのアクティビティの [友達として追加] ボタンをクリックすることができます。
ListView に戻ると、アダプター ArrayList にはサーバーから取得した古いデータがあり、それらを変更していないため、[友達として追加] ボタンがまだ表示されています。
ユーザー名 がクリックされたときのStartActivityForResultを考えました。しかし、 add as friendをクリックするとすぐに ListView に戻らないかもしれません。ユーザーのプロファイルには他にも多くのアクションがあります。
多くのアプリで簡単に処理できるおなじみのケース。これがどのように行われるかについて何か考えはありますか?
ありがとうございました
編集:
以下の答えは機能しますが。それらは最善の方法ではありません。
したがって、より良い方法は、listViewAdapter の静的メソッドを呼び出して、ArrayList でのみその値を更新することでしょうか??