簡體   English   中英

無法在Android中使用Java從Bean類填充微調器值?

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

    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();
  }
  }

請忽略{}的錯誤,我認為Context存在一些錯誤,這就是為什么它給我error.Error從此LOC開始:

ArrayAdapter adapterSystemType = new ArrayAdapter(getActivity(),R.layout.custom_spinner,systemTypeArrayList); 在此之前,一切正常。 這是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

采用

dataBaseAdapterInstance = new DataBaseAdapter(getActivity());

另外spinnerSystemType尚未初始化

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM