0

サーバーからの JSON 配列から作成される長いリスト ビューを開発中です。アイテムが選択されると、それはリストのどこにでもある可能性があり、戻ったときにその特定のアイテムに戻りたいと思います。

setSelection(position) 構造体について考えていましたが、位置変数がどのように設定されているかについて興味がありました。JSON 文字列から取得する必要がありますか、それともリスト ビューの入力中に作成される変数ですか。それが作成された場合、それを取得する構文は何ですか。リストビューが再表示されたときに、それをアクティビティに渡してより多くのデータを表示し、元のアクティビティに戻すことができます。

追加情報として、設定に保存する機能を追加したので、読み込みが速くなり、電話に保存されます. ユーザーの操作によってデータが変更された場合は、新しい JSON 文字列を取得するため、位置を維持することは重要ではありません。

この変数を含めるために JSON 文字列を再構築する必要がないことを望んでいました。

ありがとう

4

2 に答える 2

1

インデックスをどこかに保存し、これを使用して選択したアイテムに焦点を合わせます。

// focus on selected item
View v = myListView.getChildAt(index);
int top = (v == null) ? 0 : v.getTop();
myListView.setSelectionFromTop(index, top);
于 2013-01-15T07:22:15.350 に答える
1

ListView で使用setOnItemClickListenerし、現在の位置をローカル変数に保存します (永続化または非永続化は必要に応じて異なります)。戻ってきたときにオブジェクトでこのsetSelectionメソッドを使用し (アクティビティの場合)、設定する前に null を確認します。ListViewonResume

于 2013-01-15T07:42:25.180 に答える