Android MaterialSpinner(Github)导致Inflate Exception

时间:2016-03-03 07:18:23

标签: android spinner inflate-exception

我在我的应用程序中使用了来自github(https://github.com/ganfra/MaterialSpinner)的MaterialSpinner库。当我尝试在genymotion模拟器中运行时,它运行正常。但是当我尝试在我的智能手机上运行它时,它会出现InflateException MaterialSpinner。

错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jobinsabu.destination/com.example.jobinsabu.destination.MainActivity}: android.view.InflateException: Binary XML file line #100: Error inflating class fr.ganfra.materialspinner.MaterialSpinner
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2252)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2306)
 at android.app.ActivityThread.access$700(ActivityThread.java:153)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:176)
 at android.app.ActivityThread.main(ActivityThread.java:5302)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
 at dalvik.system.NativeStart.main(Native Method)
 Caused by: android.view.InflateException: Binary XML file line #100: Error inflating class fr.ganfra.materialspinner.MaterialSpinner
 at android.view.LayoutInflater.createView(LayoutInflater.java:619)
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693)
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760)
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760)
 at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
 at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
 at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
 at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256)
 at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
 at com.example.jobinsabu.destination.MainActivity.onCreate(MainActivity.java:102)
 at android.app.Activity.performCreate(Activity.java:5326)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2215)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2306) 
 at android.app.ActivityThread.access$700(ActivityThread.java:153) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286) 
 at android.os.Handler.dispatchMessage(Handler.java:99) 
 at android.os.Looper.loop(Looper.java:176) 
 at android.app.ActivityThread.main(ActivityThread.java:5302) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:511) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
 at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.reflect.InvocationTargetException
 at java.lang.reflect.Constructor.constructNative(Native Method)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
 at android.view.LayoutInflater.createView(LayoutInflater.java:593)
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693) 
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
 at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 
 at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
 at com.example.jobinsabu.destination.MainActivity.onCreate(MainActivity.java:102) 
 at android.app.Activity.performCreate(Activity.java:5326) 
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2215) 
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2306) 
 at android.app.ActivityThread.access$700(ActivityThread.java:153) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286) 
 at android.os.Handler.dispatchMessage(Handler.java:99) 
 at android.os.Looper.loop(Looper.java:176) 
 at android.app.ActivityThread.main(ActivityThread.java:5302) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:511) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
 at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.NoClassDefFoundError: fr.ganfra.materialspinner.R$attr
 at fr.ganfra.materialspinner.MaterialSpinner.initAttributes(MaterialSpinner.java:149)
 at fr.ganfra.materialspinner.MaterialSpinner.init(MaterialSpinner.java:135)
 at fr.ganfra.materialspinner.MaterialSpinner.<init>(MaterialSpinner.java:117)
 at java.lang.reflect.Constructor.constructNative(Native Method) 
 at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
 at android.view.LayoutInflater.createView(LayoutInflater.java:593) 
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693)  
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
 at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
 at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 
 at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
 at com.example.jobinsabu.destination.MainActivity.onCreate(MainActivity.java:102) 
 at android.app.Activity.performCreate(Activity.java:5326) 
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2215) 
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2306) 
 at android.app.ActivityThread.access$700(ActivityThread.java:153) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286) 
 at android.os.Handler.dispatchMessage(Handler.java:99) 
 at android.os.Looper.loop(Looper.java:176) 
 at android.app.ActivityThread.main(ActivityThread.java:5302) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:511) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
 at dalvik.system.NativeStart.main(Native Method) 

activity_main.xml中:

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/relative"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@drawable/bg7"

    >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@android:color/transparent"
        android:theme="@style/AppTheme"
        android:titleTextColor="#ffffff"
        app:titleTextColor="#ffffff" />

    <com.miguelcatalan.materialsearchview.MaterialSearchView
        android:id="@+id/search_view"
        style="@style/MaterialSearchView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />


    <RelativeLayout
        android:id="@+id/rehold"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/search_view"
        android:layout_centerHorizontal="true"
        android:visibility="invisible"
       >

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/toolbar"

        >
        </android.support.v7.widget.RecyclerView>

        <Button
            android:id="@+id/done"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:text="Done"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Destination"
            android:textColor="#fff"
            android:textSize="25sp"
            android:textStyle="italic"
            android:layout_marginTop="135dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="50dp"


            android:background="@drawable/touricon"
            android:layout_alignBottom="@+id/textView2"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="50dp" />

        <RelativeLayout
            android:id="@+id/relative2"
            android:layout_width="match_parent"
            android:layout_height="140dp"
            android:gravity="center"
            android:layout_alignTop="@+id/rehold"
            android:layout_below="@+id/textView2"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="120dp">

            <ImageView
                android:id="@+id/image1"
                android:layout_width="30dp"
                android:layout_height="35dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="34dp"
                android:layout_marginStart="34dp"
                android:background="@drawable/marker"></ImageView>

            <fr.ganfra.materialspinner.MaterialSpinner
                android:id="@+id/spinner1"
                android:layout_width="220dp"
                android:layout_height="wrap_content"
                android:gravity="center"
                app:ms_alignLabels="false"
                app:ms_arrowColor="@color/arrow"
                app:ms_arrowSize="23dp"
                app:ms_hintColor="@color/hint"
                app:ms_multiline="true"
                app:ms_thickness="0.0dp"
                app:popupTheme="@android:color/transparent"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@+id/image1"
                android:layout_toEndOf="@+id/image1" />

        </RelativeLayout>
    </RelativeLayout>


</RelativeLayout>

spinner_item.xml(微调器项的布局):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="154dp"
    android:layout_height="40dp"
    android:layout_marginTop="5dp"
    android:background="@drawable/spinner_style"

    >

    <TextView
        android:id="@+id/item1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:text="Aizwal"
        android:textColor="#212121"
        android:textSize="25sp"
        android:layout_gravity="left|center_vertical" />


</FrameLayout>

MainActivity.java:

public class MainActivity extends AppCompatActivity{
  public MaterialSpinner spinner;ArrayList l;
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner=(MaterialSpinner) findViewById(R.id.spinner1);
   l = new ArrayList();
        l.add("NewDelhi");
        l.add("Mumbai");
        l.add("Chennai");
        l.add("Bangalore");
arrayAdapter=new ArrayAdapter<String>(this,R.layout.spinner_item,R.id.item1,l);
       spinner.setAdapter(arrayAdapter);}}

1 个答案:

答案 0 :(得分:0)

替换此

  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, l);

使用

var web_uri = new Uri("www.example.com");
var resp = await client2.GetAsync(web_uri);
var resp_to_str = await resp.Content.ReadAsStringAsync();
RootObject omyclass = JsonConvert.DeserializeObject<RootObject>(resp_to_str); //pass the response string here.