Опитвам се да попълня Spinner с JSON обект, който дърпам от спокоен API.
Но не мога да разбера как да накарам адаптера да работи за въртящия се. опитах getActivity()
и аз опитах this
ключова дума. Нито един не е работил и не мога да намеря нищо в Google, където хората се опитват да актуализират въртящия се в този контекст.
Ето кода, който използвам. http://pastebin.com/bQWDHekB, Когато просто getActivity()
казва, The method getActivity() is undefined for the type new Runnable(){}
но когато използвам this
е казва The constructor ArrayAdapter<String>(new Runnable(){}, int, String[]) is undefined
-- РЕДАКТИРАНЕ -- Според отговора на Маартенс, установих, че използвайки MainActivity.this
работи по-добре от getApplicationContext()
, Когато използвате getApplicationContext()
тя има тенденция да използва различен стил и накара спинера ми да има бял текст на бял фон. Дано това помогне на някой друг, който имаше същите проблеми като мен.
Отговори:
0 за отговор № 1Е, така е Runnable
няма да има getActivity()
метод.
Можете да получите справка за опаковъчната дейност, като замените
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, array_spinner);
от
new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, array_spinner);
или, защото просто ви трябва Context
new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, array_spinner);
което е еквивалентно на
new ArrayAdapter<String>(MainActivity.this.getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, array_spinner);