조각이 생성 될 때까지 검색되지 않는 데이터로 spinner를 채우려고합니다.Fragment가 이미 생성 된 후 Spinner에서 ArrayAdapter 데이터를 생성/설정하는 방법
datesSpinner = (Spinner)rootView.findViewById(R.id.calldatesspinner);
/*
String[] testData = { "Abc", "Def", "Ghi", "Jkl" };
ArrayList<String> xVals = new ArrayList<>();
for (int i = 0; i < testData.length; i++)
xVals.add(testData[i]);
dataAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, testData);
datesSpinner.setAdapter(dataAdapter);
*/
을하지만 데이터를 검색 한 후 스피너에 어댑터를 설정하려고 할 때 오류 단지 빈 스피너를 얻을 : 테스트 데이터는 OnCreateView 내부 작동?
이public void setSpinnerAdapter() {
for (int i = 0; i < datesPulled.size(); i++) {
System.out.println("Populating spinner: " + datesPulled.get(i));
}
System.out.println("finished for loop");
dataAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, datesPulled);
System.out.println("create array adapter");
datesSpinner.setAdapter(dataAdapter);
}
로그 캣은
04-03 14:18:02.412 9671-9671/? I/System.out: Populating spinner: 2017-05-01
04-03 14:18:02.412 9671-9671/? I/System.out: Populating spinner: 2017-06-01
04-03 14:18:02.412 9671-9671/? I/System.out: Populating spinner: 2017-07-01
04-03 14:18:02.412 9671-9671/? I/System.out: Populating spinner: 2017-08-01
04-03 14:18:02.413 9671-9671/? I/System.out: finished for loop
는 내가 거기에 생각이다 : 나는 & 그때 내가 OnCreateView에서했던 것처럼 그것을 설정하려고 그에게 새로운 ArrayList를 준 데이터를 ArrayAdapter와 생성, 테스트 ArrayAdapter와를 주석 인터페이스를 조각 내기위한 활동에 문제가 있었지만 logcat이 제대로 작동한다고 알려줍니다. 나는 &으로 테스트 어댑터를 초기화하려고 시도했다. 새 ArrayList로 리셋하고 첫 번째 어댑터는 & 두 번째 어댑터 인 notifyDataSetChanged() 등을 만들지 만 운은 없다. 어떤 이유로 새로운 ArrayAdapter를 만들거나 설정할 수는 없지만 그 이유는 무엇입니까?
조각의'onViewCreated()'에서 setadapter() 메소드를 호출하십시오. – rafsanahmad007
어댑터를 UI 스레드로 설정합니까? –
onViewCreated를 사용하면 생성 된 ArrayAdapter를 볼 수 있습니다. 답장을 보내 주셔서 감사합니다 @ rafsanahmod007 – JC23