私の Android アクティビティ クラスには、Web サービスからのデータを入力する必要があるいくつかのスピナーがあります。Web サービス呼び出しを呼び出すメソッドは既に設定しています。Web サービスがデータを返し、それが解析されたら、それぞれのデータをArrayList
クラスのメンバーに入力します。問題は、ユーザーが特定のスピナーを選択したときにのみこれらの呼び出しを呼び出す方法がわからないことです。たとえば、次のコードを使用してバインドしcountrySpinner
ます。
countrySpinner = (Spinner) findViewById(R.id.spinner_country);
List<String> list= new ArrayList<String>();
list.add("All"); // <-- initial/default content
countryAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
countryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
countrySpinner.setAdapter(countryAdapter);
デフォルト値は「すべて」で、これは Web サービスのデフォルトの動作であるため問題ありません。ただし、ユーザーがスピナーに触れたときにメソッドを呼び出し、メンバーを変更して自分の好みに合わせてリストを作成し、別の配列リストを反復処理してアイテムを追加することで、callSpinnerWS()
そのデータを再度入力したいと考えています。countryAdapter
countryAdapter.clear()
Web サービスへの呼び出しはどこに置くのですか? これを達成するための適切なバインド イベントは何ですか?