/ / Методът getActivity () е неопределен за типа new Runnable () {} - java, android, spinner

Методът getActivity () не е дефиниран за типа new Runnable () {} - java, android, spinner

Опитвам се да попълня 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);