[英]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.