2011-02-04 9 views
0

SQLiteデータベース(ArrayList)からフェッチされたスクロール可能なデータセットを、アイテムがクリックされたとき(つまり、バックグラウンドが変更されたとき)、クリックされた後で別のウィジェット(例えばボタン)が押されて、強調表示された項目に対して何らかのアクションを実行します。私が何を意味するのかを以下に見てください。これは非常に単純化されたバージョンです。UIヘルプ、リストビューから変更する必要がありますか?

enter image description here

だから、「試験項目1」が選択されたときに背景が黄色のままで、削除が押されると、項目がリストおよびデータベースから削除されます。

どうすればよいですか?そこにチュートリアルはありますか?どんな助けもありがとうございます。

答えて

0

私はListViewを使用してカスタムソリューションを作成できます。スクロールビュー内に垂直なLinearLayoutを持つScrollView(スクロールビヘイビアを得るため)、ToggleButtonを使用して選択可能なアイテムビヘイビアを模倣することができます。 ToggleButtonsをlayout_width = "fill_parent"に設定し、背景をカスタムStateListDrawableに設定します。 ToggleButtonsにコールバックを追加して、含まれているアクティビティのメソッドを呼び出して、「選択された」アイテムを更新することができます。

0

リッチのソリューションにダイナミックデータを使用すると、リスクが発生します。 Androidのリストコンポーネントには、自動化されたメモリ管理に関する多くのトリックが含まれています。大きなデータセットでScrollView + LinearLayoutを使用すると、アプリが応答しなくなる可能性があります。あなたはそれをビジュアルに満足していない場合は、さらに移動することができ、そこから後 http://www.androidpeople.com/android-listview-multiple-choice-example/

は、ここであなたが唯一の標準リスト・コンポーネントを使用して何をしたいのか本当に近い行うことができますどのように非常に単純な例です溶液。

+0

こんにちは、ありがとうございました。このソリューションを使用して、1つのアイテムだけを選択できるように制限する方法はありますか? – SamRowley

+0

この行で使用されている定数の代替候補を探します。lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);単一項目選択のためのモードを定義する必要があります。 – Juhani