Страница 1 из 1

ArrayAdapter exception

Добавлено: 02 окт 2012, 21:46
BluZ
Здравствуйте, помогите пожалуйста решить проблему.
У меня есть два спиннера, содержимое 2го должно меняться в зависимости от содержимого 1го.
Для этого я в активности, в слушателе OnItemSelectedListener устанавливал адаптеры в зависимости от ситуации. В активности этот код работал, но я решил вынести его в отдельный класс и приложение стало валится на этом:

Код: Выделить всё

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(v.MainContext,
				R.array.it_language,
                R.layout.spinner_text_style);
вот лог

10-02 21:41:05.918: E/AndroidRuntime(17309): FATAL EXCEPTION: main
10-02 21:41:05.918: E/AndroidRuntime(17309): java.lang.NullPointerException
10-02 21:41:05.918: E/AndroidRuntime(17309): at com.superpuper.SuperPuper$SpinnerOnItemSelectedListener.onItemSelected(SuperPuper.java:301)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.widget.AdapterView.fireOnSelected(AdapterView.java:882)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.widget.AdapterView.access$200(AdapterView.java:48)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:848)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.os.Handler.handleCallback(Handler.java:605)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.os.Handler.dispatchMessage(Handler.java:92)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.os.Looper.loop(Looper.java:137)
10-02 21:41:05.918: E/AndroidRuntime(17309): at android.app.ActivityThread.main(ActivityThread.java:4575)
10-02 21:41:05.918: E/AndroidRuntime(17309): at java.lang.reflect.Method.invokeNative(Native Method)
10-02 21:41:05.918: E/AndroidRuntime(17309): at java.lang.reflect.Method.invoke(Method.java:511)
10-02 21:41:05.918: E/AndroidRuntime(17309): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
10-02 21:41:05.918: E/AndroidRuntime(17309): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
10-02 21:41:05.918: E/AndroidRuntime(17309): at dalvik.system.NativeStart.main(Native Method)

Надеюсь на вашу помощь, заранее спасибо за ответы.

Re: ArrayAdapter exception

Добавлено: 02 окт 2012, 22:22
rezak90
он же тебе говорит что NullPointerException, скорее всего контекст нулевой.

Re: ArrayAdapter exception

Добавлено: 02 окт 2012, 22:45
Mikhail_dev
Да, скорее всего нулевой контекст как сказали. Передавай в конструкторе контекст активности, той, из который ты и создаешь экземпляр этого класса.

Re: ArrayAdapter exception

Добавлено: 03 окт 2012, 17:23
BluZ
Большое спасибо за помощь.

Как мне кажется вроде контекст определен правильно =\ вызывал из класса Toast, работал.

MainActivity

Код: Выделить всё

...
public static Context mcontext;
...
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mcontext = getApplicationContext();
...
Spinners

Код: Выделить всё

...
MainActivity ma;
...
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(ma.mcontext,
					R.array.language2,
	                R.layout.spinner_text_style);
			
			ma.sp2.setAdapter(adapter2);
вот моя ошибка в отдельном проекте.
https://dl.dropbox.com/u/59069601/prog.rar

Re: ArrayAdapter exception

Добавлено: 04 окт 2012, 10:06
damager82
BluZ писал(а):вот моя ошибка в отдельном проекте.
https://dl.dropbox.com/u/59069601/prog.rar
Скачал проект, запустил. Все работает. Как получить ошибку?

Re: ArrayAdapter exception

Добавлено: 04 окт 2012, 19:09
BluZ
В первом спиннере нужно выбрать "Немецкий"

Re: ArrayAdapter exception

Добавлено: 06 окт 2012, 19:45
BluZ
поставил методу setSpinnersItem модификатор static, работает.