Failed to Fill Spinner Values From Bean Class using Java in Android?

a 夏天 提交于 2020-01-06 03:41:09

问题


    public class BriefFragmentActivity extends Fragment
    {
        public BriefFragmentActivity()
        {
        }
        public static final String ARG_SECTION_NUMBER = "section_number";
        String getParameter_Url = "parameters/getParameters";
        Spinner spinnerSystemType;
        ArrayList<String> systemTypeArrayList;
        DataBaseAdapter dataBaseAdapterInstance;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.brief_fragment_view, null);
        getAllSpinnerValues();
        spinnerSystemType = (Spinner) v.findViewById(R.id.spinner_systemtype);
        return v;
 }

    private void getAllSpinnerValues()
   {
    systemTypeArrayList = new ArrayList<String>();
    dataBaseAdapterInstance = new DataBaseAdapter(getActivity().getApplicationContext());
    dataBaseAdapterInstance.openToRead();
    List<Parameters> parameterList = new ArrayList<Parameters>(); 
    parameterList = dataBaseAdapterInstance.getParameterList();
    for (Parameters p : parameterList) 
{
    Log.i("parameter list",""+p.getId()  + "cash code" + p.getCashCode()  +"....." + p.getParamType());
    if(p.getParamType().trim().toString().equalsIgnoreCase("system type"))
{
   Log.i("system type","string comparison block");
   systemTypeArrayList.add(p.getParamDescription().trim().toString());
   Log.i("systemTypeArrayList:",""+systemTypeArrayList);  **// getting correct data on this line from bean class.....**
//**Error is when trying to add this arrayList to ArrayAdapter** 
 ArrayAdapter<String> adapterSystemType = new ArrayAdapter<String>(getActivity(),R.layout.custom_spinner,systemTypeArrayList);

adapterSystemType.setDropDownViewResource(R.layout.custom_spinner_item_list);
 spinnerSystemType.setAdapter(adapterSystemType);
 adapterSystemType.notifyDataSetChanged();

}
 else
   {
 Log.i("values",""+p.getParamType());
   }
   } 
  dataBaseAdapterInstance.close();
  }
  }

please ignore mistake of { } i think there is some mistake of Context thats why its giving me error.Error starts from this LOC:

ArrayAdapter adapterSystemType = new ArrayAdapter(getActivity(),R.layout.custom_spinner,systemTypeArrayList); before this everything working fine. Here is the Logcat:

12-20 04:48:26.115: E/AndroidRuntime(20657): FATAL EXCEPTION: main
12-20 04:48:26.115: E/AndroidRuntime(20657): java.lang.RuntimeException: Unable to start activity 

ComponentInfo{com.survey.management.activity/com.survey.management.activity.FragmentMainActivity}: java.lang.NullPointerException
12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread.access$600(ActivityThread.java:140)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.os.Handler.dispatchMessage(Handler.java:99)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.os.Looper.loop(Looper.java:137)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread.main(ActivityThread.java:4898)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at java.lang.reflect.Method.invokeNative(Native Method)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at java.lang.reflect.Method.invoke(Method.java:511)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at dalvik.system.NativeStart.main(Native Method)

12-20 04:48:26.115: E/AndroidRuntime(20657): Caused by: java.lang.NullPointerException

12-20 04:48:26.115: E/AndroidRuntime(20657):    at com.survey.management.activity.BriefFragmentActivity.getAllSpinnerValues(BriefFragmentActivity.java:701)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at com.survey.management.activity.BriefFragmentActivity.onCreateView(BriefFragmentActivity.java:67)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1167)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.Activity.performStart(Activity.java:5216)

12-20 04:48:26.115: E/AndroidRuntime(20657):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)

12-20 04:48:26.115: E/AndroidRuntime(20657):    ... 11 more

回答1:


Use

dataBaseAdapterInstance = new DataBaseAdapter(getActivity());

Also spinnerSystemType is not initialized

View v = inflater.inflate(R.layout.brief_fragment_view, null);
spinnerSystemType =(Spinner)v.findViewById(R.id.spinner1);
// make sure the id spinner1 is right


来源:https://stackoverflow.com/questions/20682619/failed-to-fill-spinner-values-from-bean-class-using-java-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!