Androidサービスのクラスには、Webサービスからのデータを取り込む必要があります。 Webサービスコールを呼び出すメソッドをすでに設定しています。 Webサービスからデータが返され、解析されると、それぞれのデータがクラスのメンバーArrayList
に移入されます。問題は、ユーザーが特定のスピナーを選択した場合にのみこれらの呼び出しを呼び出す方法がわからないことです。例えば、私はcountrySpinner
をバインドするために、次のコードを使用します。Spinnerを非同期で呼び出すとWebサービスが呼び出されます。
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サービスのデフォルトの動作であるので、結構です「すべて」です。しかし、私は、ユーザーがスピナーに触れたときに、その後、countryAdapter.clear()
によって私の好みに合わせてより多くのリストを持っているメンバーcountryAdapter
を修正して、項目を追加するために、異なるのArrayListを反復することにより、再びそのデータを取り込む方法callSpinnerWS()
を呼び出したいです。
ここで、Webサービスに電話をかけますか?これを達成するための適切なバインディング・イベントは何ですか?