I'm trying to populate a spinner with a string array using an array adapter on my android application. The code appears sound to me, hence me asking the wonderful community at SO.
Here is my populating function:
private void populateSpinners(String intentMessage)
{
//initialize variables and get spinners, resources
Resources res = getResources();
String[] types = null;
Spinner iHaveSpinner = (Spinner) findViewById(R.id.iHaveSpinner);
Spinner iWantSpinner = (Spinner) findViewById(R.id.iWantSpinner);
//grab appropriate array for unit types
if(intentMessage.equalsIgnoreCase("Force"))
types = res.getStringArray(R.array.ForceArray);
//initialize adapter and populate spinners
ArrayAdapter<String> typeAdapter = new ArrayAdapter<String>(this,R.id.iHaveSpinner,types);
iHaveSpinner.setAdapter(typeAdapter);
iWantSpinner.setAdapter(typeAdapter);
}
and my logcat:
09-01 17:17:50.491: E/AndroidRuntime(15264): FATAL EXCEPTION: main 09-01 17:17:50.491: E/AndroidRuntime(15264): android.content.res.Resources$NotFoundException: Resource ID #0x7f090003 type #0x12 is not valid 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2136) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.content.res.Resources.getLayout(Resources.java:865) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.LayoutInflater.inflate(LayoutInflater.java:394) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:193) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.Spinner.onMeasure(Spinner.java:439) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.View.measure(View.java:15395) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.View.measure(View.java:15395) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4826) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.View.measure(View.java:15395) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.LinearLayout.measureVertical(LinearLayout.java:833) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.View.measure(View.java:15395) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4826) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 09-01 17:17:50.491: E/AndroidRuntime(15264): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2362) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.View.measure(View.java:15395) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1985) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1226) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1399) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1119) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4553) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.Choreographer.doCallbacks(Choreographer.java:555) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.Choreographer.doFrame(Choreographer.java:525) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.os.Handler.handleCallback(Handler.java:615) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.os.Handler.dispatchMessage(Handler.java:92) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.os.Looper.loop(Looper.java:137) 09-01 17:17:50.491: E/AndroidRuntime(15264): at android.app.ActivityThread.main(ActivityThread.java:4950) 09-01 17:17:50.491: E/AndroidRuntime(15264): at java.lang.reflect.Method.invokeNative(Native Method) 09-01 17:17:50.491: E/AndroidRuntime(15264): at java.lang.reflect.Method.invoke(Method.java:511) 09-01 17:17:50.491: E/AndroidRuntime(15264): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) 09-01 17:17:50.491: E/AndroidRuntime(15264): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) 09-01 17:17:50.491: E/AndroidRuntime(15264): at dalvik.system.NativeStart.main(Native Method)
My catch is that I can't seem to find any references to my code (hopefully I'm right there, speaking to my reading skills...), and I'm fairly new at Android so I'm not the best at catching other runtime errors.
Thanks SO!!!
kH