android - Spinners and problems with Context? -


i'm working on fragment class next:

public class demandfragment extends fragment implements locationlistener{... 

i have declared this:

spinner spinner_loc; arrayadapter<string> spinner_loc_adapter = null;  @override     public void onactivitycreated(bundle state){          super.onactivitycreated(state);         bundle bundle = this.getarguments();         source_category = integer.parseint(bundle.getstring("category"));          preparespinner(); ... 

and have next function it's called onactivitycreated method (to modularize code):

private void preparespinner(){          spinner_loc = (spinner) getview().findviewbyid(r.id.spinner_loc); ... 

and further... inside of preparespinner() method.

spinner_loc = null; spinner_loc_adapter = null; spinner_loc_adapter = new arrayadapter<string>(getactivity(), r.layout.spinner_content, values); spinner_loc.setadapter(spinner_loc_adapter); spinner_loc_adapter.notifydatasetchanged(); 

value array of strings.

problem: i'm getting null pointer exception on spinner_loc_adapter. belive error context, can not figure out why.

what context must in: fragment_class -> oncreate() -> preparespinner() ??

i've tried context _c in declaration, , passing adapter in place of getactivity(), i'm getting same error.

logcat

03-24 12:51:46.605  12785-12785/com.test e/androidruntime﹕ fatal exception: main     java.lang.nullpointerexception             @ com.test.fragment.demandfragment.preparespinner(demandfragment.java:330)             @ com.test.fragment.demandfragment.onactivitycreated(demandfragment.java:95)             @ android.support.v4.app.fragment.performactivitycreated(fragment.java:1508)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:947)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1104)             @ android.support.v4.app.backstackrecord.run(backstackrecord.java:682)             @ android.support.v4.app.fragmentmanagerimpl.execpendingactions(fragmentmanager.java:1467)             @ android.support.v4.app.fragmentmanagerimpl$1.run(fragmentmanager.java:440)             @ android.os.handler.handlecallback(handler.java)             @ android.os.handler.dispatchmessage(handler.java)             @ android.os.looper.loop(looper.java)             @ android.app.activitythread.main(activitythread.java)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java)             @ de.robv.android.xposed.xposedbridge.main(xposedbridge.java:132)             @ dalvik.system.nativestart.main(native method) 

xml:

<?xml version="1.0" encoding="utf-8"?>  <linearlayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/fragment_content"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:orientation="vertical"     android:background="@android:color/white">      <scrollview         android:layout_weight="0.9"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:overscrollmode="never"         android:scrollbars="none">          <linearlayout             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:orientation="vertical">              <linearlayout                 android:id="@+id/layout_select"                 android:layout_width="fill_parent"                 android:layout_height="wrap_content"                 android:orientation="vertical"                 android:background="#1794d4"                 android:alpha="0.9"                 android:layout_marginleft="30dp"                 android:layout_marginright="30dp">                  <textview                     android:layout_width="wrap_content"                     android:layout_height="wrap_content"                     android:textcolor="@android:color/white"                     android:text="@string/offer_location"                     android:textsize="18sp"                     android:layout_margintop="20dp"                     android:layout_marginleft="15dp"                     android:id="@+id/offer_location" />                  <spinner                     android:id="@+id/spinner_location"                     android:layout_width="fill_parent"                     android:layout_height="30dp"                     android:layout_marginleft="15dp"                     android:layout_marginright="15dp"                     android:layout_margintop="15dp"                     android:gravity="center_vertical"                     android:background="@drawable/spinner_button"                     android:headerdividersenabled="false"                     android:footerdividersenabled="false"                     android:divider="@drawable/spinner_button"                     />                  <textview                     android:layout_width="wrap_content"                     android:layout_height="wrap_content"                     android:textcolor="@android:color/white"                     android:text="@string/choose_brand_model"                     android:textsize="18sp"                     android:layout_margintop="20dp"                     android:layout_marginleft="15dp"                     android:textisselectable="false" />                  <spinner                     android:id="@+id/spiner_marca"                     android:layout_width="fill_parent"                     android:layout_height="30dp"                     android:layout_marginleft="15dp"                     android:layout_marginright="15dp"                     android:layout_margintop="15dp"                     android:gravity="center_vertical"                     android:background="@drawable/spinner_button"                     android:headerdividersenabled="false"                     android:footerdividersenabled="false"                     android:divider="@drawable/spinner_button"                     />                  <spinner                     android:id="@+id/spiner_modelo"                     android:layout_width="fill_parent"                     android:layout_height="30dp"                     android:layout_marginleft="15dp"                     android:layout_marginright="15dp"                     android:layout_margintop="10dp"                     android:gravity="center_vertical"                     android:background="@drawable/spinner_button"                     android:headerdividersenabled="false"                     android:footerdividersenabled="false"                     android:divider="@drawable/spinner_button"                     />                  <button                     android:id="@+id/bt_disable_spinner"                     android:layout_width="fill_parent"                     android:layout_height="20dp"                     android:layout_marginleft="15dp"                     android:layout_marginright="15dp"                     android:layout_margintop="15dp"                     android:layout_marginbottom="15dp"                     android:gravity="center"                     android:textcolor="@drawable/dark_blue_text_button"                     android:text="@string/brand_not_sure"                     android:textsize="10sp"                     android:background="@drawable/dark_blue_border_button"/>              </linearlayout>              <textview                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:textcolor="#cccccc"                 android:text="@string/wanted"                 android:layout_below="@id/layout_select"                 android:layout_marginleft="30dp"                 android:layout_margintop="10dp"/>              <linearlayout                 android:layout_width="fill_parent"                 android:layout_height="wrap_content"                 android:orientation="horizontal"                 android:gravity="center_horizontal"                 android:id="@+id/layout_options">                  <imagebutton                     android:id="@+id/bt_add_text"                     android:layout_width="wrap_content"                     android:layout_height="wrap_content"                     android:layout_marginright="50dp"                     android:background="@android:color/transparent"                     android:src="@drawable/ic_add_text"/>                  <imagebutton                     android:id="@+id/bt_add_photo"                     android:layout_width="wrap_content"                     android:layout_height="wrap_content"                     android:layout_marginright="40dp"                     android:background="@android:color/transparent"                     android:src="@drawable/ic_add_photo"/>                  <imagebutton                     android:id="@+id/bt_add_audio"                     android:layout_width="wrap_content"                     android:layout_height="wrap_content"                     android:background="@android:color/transparent"                     android:src="@drawable/ic_add_audio"/>             </linearlayout>              <linearlayout                 android:layout_width="fill_parent"                 android:layout_height="wrap_content"                 android:orientation="horizontal"                 android:gravity="center_horizontal"                 android:layout_margintop="20dp"                 android:layout_marginbottom="20dp"                 android:id="@+id/layout_type">                  <button                     android:id="@+id/bt_nuevo"                     android:layout_width="90dp"                     android:layout_height="20dp"                     android:textcolor="@drawable/gray_text_button"                     android:text="@string/demand_new"                     android:textsize="10sp"                     android:layout_marginright="10dp"                     android:background="@drawable/gray_border_button"/>                  <button                     android:id="@+id/bt_km0"                     android:layout_width="90dp"                     android:layout_height="20dp"                     android:textcolor="@drawable/gray_text_button"                     android:text="@string/demand_km0"                     android:textsize="10sp"                     android:layout_marginright="10dp"                     android:background="@drawable/gray_border_button"/>                  <button                     android:id="@+id/bt_2mano"                     android:layout_width="90dp"                     android:layout_height="20dp"                     android:textcolor="@drawable/gray_text_button"                     android:text="@string/demand_used"                     android:textsize="10sp"                     android:background="@drawable/gray_border_button"/>             </linearlayout>          </linearlayout>     </scrollview>      <imageview         android:layout_width="match_parent"         android:layout_height="40dp"         android:id="@+id/imageviewsend"         android:src="@drawable/bt_enviar_solicitud"         android:layout_gravity="center|bottom"         android:layout_margintop="10dp"         android:background="#1794d4"         android:paddingleft="80dp"         android:paddingright="80dp"         android:layout_weight="0.1"         android:layout_alignparentbottom="true"         />  </linearlayout> 

use bewlow in onactivtiycreated of fragment. spinner_loc null coz getview() returns null. need wait till activity created , fragment attached activity

spinner_loc = (spinner) getview().findviewbyid(r.id.spinner_loc); spinner_loc_adapter = new arrayadapter<string>(getactivity(), r.layout.spinner_content, values); spinner_loc.setadapter(spinner_loc_adapter); spinner_loc_adapter.notifydatasetchanged();  

edit:

 <spinner  android:id="@+id/spinner_location" 

change

 spinner_loc = (spinner) getview().findviewbyid(r.id.spinner_loc); 

to

 spinner_loc = (spinner) getview().findviewbyid(r.id.spinner_location); 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -