웹 서비스의 데이터로 채워 져야하는 Android 액티비티 클래스에 몇 개의 스피너가 있습니다. 이미 웹 서비스 호출을 호출하는 메소드를 설정했습니다. 웹 서비스가 데이터를 반환하고 파싱되면 각 데이터를 내 클래스의 ArrayList
멤버로 채 웁니다. 문제는 특정 회 전자를 선택하는 사용자에게만 이러한 호출을 호출하는 방법을 모르겠다는 것입니다. 예를 들어, 나는 countrySpinner
을 결합하려면 다음 코드를 사용합니다Spinner를 클릭했을 때만 웹 서비스에 대한 비동기 호출로 채 웁니다.
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);
기본값은 그 웹 서비스의 기본 동작이기 때문에 괜찮하는 "모든"입니다. 그러나 사용자가 회 전자를 터치하면 callSpinnerWS()
메서드를 호출 한 다음 countryAdapter
멤버를 수정하여 countryAdapter.clear()
으로 내 목록을 추가 한 다음 다른 arraylist를 통해 항목을 추가하도록 반복하여 데이터를 다시 채 웁니다.
어디서 웹 서비스에 전화를 걸겠습니까? 이것을 달성하기위한 적절한 바인딩 이벤트는 무엇입니까?