0

カスタマイズされた ListView を使用して、うまく機能するカスタム CursorAdapter があります。このビューを使用すると、ユーザーは ListView の行を並べ替えて UI をいじることができます。問題ありません (まあ、多くの調査と試行錯誤の結果です!)。

しかし、ユーザーがこれらの行の 1 つを移動するたびにデータベースにアクセスしなければならないのは好きではありません。彼らはかなりの修正を行っている可能性があります。さらに、ユーザーが気が変わってすべての変更をキャンセルできるようにしたいと考えています。

だから私は疑問に思っています: データベースを変更せずに、この ListView の内容 (つまり、行の順序) を変更する方法はありますか? そうすれば、ユーザーが [OKAY] を一気にクリックしたときにデータベースを更新し、キャンセルした場合はそれらの変更を無視することができます。

また、この理論的な手法を使用すると、ユーザーは、リストを変更するたびに、AsyncTask がポップしてデータベースの操作を行うのを 1 回待つだけで済みます。

4

1 に答える 1

1

データベースから必要なすべてのメンバーを持つカスタム クラスを使用します。customClass オブジェクトの ArrayList を作成し、データベースから取得したカーソルからのデータを入力します。この arraylist を CustomBaseAdapter に渡し、リストビューに入力します。ユーザーの反応に従って、arraylist データを変更します。[OK] または [キャンセル] をクリックして、データベース内の対応するデータを更新します。

于 2012-03-27T06:32:21.100 に答える