2014-01-28 92 views
1

我在布局有一个SpinnerAndroid的错误膨胀android.widget.spinner

 <Spinner 
     android:id="@+id/city_spinner" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:drawSelectorOnTop="true" 
     android:entryValues="@array/city_spinner_data" 
     /> 

当这个文件传递给充气比如,它给我这个错误:

01-28 15:00:13.270: D/AndroidRuntime(6100): Shutting down VM 
01-28 15:00:13.270: W/dalvikvm(6100): threadid=1: thread exiting with uncaught exception (group=0xa4ba0648) 
01-28 15:00:13.270: E/AndroidRuntime(6100): FATAL EXCEPTION: main 
01-28 15:00:13.270: E/AndroidRuntime(6100): android.view.InflateException: Binary XML file line #97: Error inflating class android.widget.Spinner 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at in.coupondunia.androidapp.fragments.local.RestaurantOffersHomeFragment.onCreateView(RestaurantOffersHomeFragment.java:26) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.os.Handler.handleCallback(Handler.java:730) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.os.Handler.dispatchMessage(Handler.java:92) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.os.Looper.loop(Looper.java:137) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at java.lang.reflect.Method.invoke(Method.java:525) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at dalvik.system.NativeStart.main(Native Method) 
01-28 15:00:13.270: E/AndroidRuntime(6100): Caused by: java.lang.reflect.InvocationTargetException 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at java.lang.reflect.Constructor.constructNative(Native Method) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  ... 25 more 
01-28 15:00:13.270: E/AndroidRuntime(6100): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f0c0084 a=1 r=0x7f0c0084} 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.content.res.Resources.loadDrawable(Resources.java:2063) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.PopupWindow.<init>(PopupWindow.java:187) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.ListPopupWindow.<init>(ListPopupWindow.java:199) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.Spinner$DropdownPopup.<init>(Spinner.java:984) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.Spinner.<init>(Spinner.java:176) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.Spinner.<init>(Spinner.java:139) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  at android.widget.Spinner.<init>(Spinner.java:123) 
01-28 15:00:13.270: E/AndroidRuntime(6100):  ... 28 more 

我试图创建微调与

 android:entries="@array/city_spinner_data" 

但我得到同样的错误。

这里是整个布局文件

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/reastaurants_home" 
    > 

     <HorizontalScrollView 
     android:id="@+id/horizontalScrollView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/relativeLayout1" 
     android:layout_marginLeft="15dp" 
     android:layout_marginRight="15dp" 
     android:layout_marginTop="81dp" 
     android:scrollbars="none" 
     > 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <ImageView 
       android:id="@+id/imageView3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingRight="5dp" 
       android:src="@drawable/flipkart" /> 

      <ImageView 
       android:id="@+id/imageView2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:paddingRight="5dp" 
       android:src="@drawable/dominos" /> 

      <ImageView 
       android:id="@+id/imageView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:paddingRight="5dp" 
       android:src="@drawable/flipkart" /> 

     </LinearLayout> 
    </HorizontalScrollView> 



    <ImageView 
     android:id="@+id/dotted_separator" 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/relativeLayout1" 
     android:layout_marginTop="17dp" 
     android:paddingLeft="25dp" 
     android:paddingRight="25dp" 
     android:src="@drawable/dotted_separator" /> 

     <RelativeLayout 
     android:id="@+id/relativeLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:padding="30dp" > 

     <LinearLayout 
      android:id="@+id/title_holder" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      > 
      <TextView 
       android:id="@+id/find_restaurant_coupons" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:text="Find Restaurant Coupons" 
       android:textColor="#ffffff" 
       android:textSize="15sp" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/spinner_holder" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/title_holder" 
      > 
<!-- 
       android:entries="@array/city_spinner_data" 
       --> 
      <Spinner 
       android:id="@+id/city_spinner" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:drawSelectorOnTop="true" 
       android:entryValues="@array/city_spinner_data" 
       /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/location_search_holder" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/spinner_holder" 
      > 
      <EditText 
       android:id="@+id/input_location" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="#ffffff" 
       android:ems="10" 
       android:hint="Location" 
       android:inputType="text" 
       android:padding="10dp" 
       android:textColor="#000000" > 

       <requestFocus /> 
      </EditText> 

      <Button 
       android:id="@+id/button_go" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/input_location" 
       android:background="#17b851" 
       android:padding="10dp" 
       android:text="GO" /> 

     </LinearLayout> 
    </RelativeLayout> 

     <Button 
      android:id="@+id/best_restaurants_btn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/horizontalScrollView1" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="40dp" 
      android:background="#17b851" 
      android:paddingLeft="25dp" 
      android:paddingRight="25dp" 
      android:text="Best Restaurants Offers" /> 

</RelativeLayout> 

这里是数组:

<string-array name="city_spinner_data"> 
    <item>Mumbai</item> 
    <item>Pune</item> 
    <item>Goa</item> 
</string-array> 
+1

我认为你必须同时使用'entryValues'和'entries';您想要显示的文本的“entries”和值本身的“entryValues”。如果你愿意,两者都可以使用相同的数组。 –

+0

发布完整的堆栈跟踪 – Raghunandan

+0

请发布您的完整的XML布局文件代码。 – GrIsHu

回答

0

安卓条目应该工作。

我们可以通过代码设置也一样。

Spinner spinner = (Spinner) findViewById(R.id.city_spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
     R.array.city_spinner_data, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 
+0

我将它填充到xml中,只是为了看看它从我的代码中填充时的样子。我从http://stackoverflow.com/questions/4029261/populating-spinner-directly-in-the-layout-xml获取了代码 –