0

特定のタスクについて助けが必要です :

カスタムが関連付けられListViewたメイン アクティビティと、多くの操作が構成された (数量の変更、アイテムのキャンセルなど)を表示するリスナーがあり、それは魅力のように機能します。AdapterOnItemLongClickDialog

私の目標は、クリックしたアイテムの物理コピーを に保存してDialog、変更をすぐに表示することです。

私の ListView アイテムは複雑で、によって設計されているAdapterため、元のオブジェクトへの参照を取得することはできません。選択した ListView アイテムの視覚的なコピーが必要です...

選択したアイテムだけを関連付けた同じ構造 (ListViewと) を作成しようと考えましたが、ちょっと重いです...Adapter

この状況で私を助けることができるより簡単な解決策はありますか? 元のオブジェクトに変更を加えた元の ListView アイテムの実際のコピーを意味しDialogます...

4

2 に答える 2

1

1 つのリストビュー アイテムをクリックすると、onListItemClickコールバックが発生する必要があります。ドキュメントでわかるように、3 番目のパラメーターはposition. atYourAdapter.getItem(int)によって保持されている要素を取得するために呼び出すことができますlistviewposition

于 2012-04-27T09:06:57.557 に答える
1

関連するコードを投稿すると、より明確に案内できる場合があります。

ただし、 paramsをonItemLongClick((AdapterView, View, int position, long)使用してオブジェクトを取得できます。position

YourObject objReference = yourActivityClassObjectList.get(position);

ダイアログを表示するときに、これをダイアログに渡しobjReference、変更が加えられたら、これの内容を変更してobjReference呼び出します

adapter.notifyDataSetChanged();

objReferenceダイアログに渡す代わりに、渡してint position変更が行われている間に、そのオブジェクトへの参照を取得し、内容を変更し、変更されたデータセットをアダプタに通知することができます。

于 2012-04-27T09:05:54.083 に答える