2016-09-12 5 views
-1

verwende ich versucht habe AppCompat Komponenten in meinem Android-Anwendung zu verwenden, aber aus irgendeinem Grund Methode SetContentView hält werfen:Kann nicht AppCompat Kontrollen in Xamarin Projekt

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.design.widget.TextInputLayout

Stack-Trace Ausnahme:

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/3540/1cf254db/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (JniObjectReference instance, JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x000a7] in /Users/builder/data/lanes/3540/1cf254db/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12083 at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00068] in /Users/builder/data/lanes/3540/1cf254db/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:31 at Android.App.Activity.SetContentView (Int32 layoutResID) [0x00017] in /Users/builder/data/lanes/3540/1cf254db/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.App.Activity.cs:4940 at AttendITAndroidClient.LoginActivity.Initialize() [0x00002] in C:\Users\brakm\onedrive\dokumenti\visual studio 2015\Projects\AttendITDesktopClient\AttendITAndroidClient\Activities\LoginActivity.cs:30 --- End of managed Android.Views.InflateException stack trace --- android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.design.widget.TextInputLayout at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at md5d9765193e278a5bdda80f23f9bd7e090.LoginActivity.n_onCreate(Native Method) at md5d9765193e278a5bdda80f23f9bd7e090.LoginActivity.onCreate(LoginActivity.java:29) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.support.design.widget.TextInputLayout at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) ... 18 more Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.TextInputLayout" on path: DexPathList[[zip file "/data/app/AttendITAndroidClient.AttendITAndroidClient-1/base.apk"],nativeLibraryDirectories=[/data/app/AttendITAndroidClient.AttendITAndroidClient-1/lib/x86, /data/app/AttendITAndroidClient.AttendITAndroidClient-1/base.apk!/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.view.LayoutInflater.createView(LayoutInflater.java:583) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) ... 24 more Suppressed: java.lang.ClassNotFoundException: android.support.design.widget.TextInputLayout at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 27 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

Aktivität ist richtige Klasse vererben und wird mit Recht Theme (AFAIK) (ich habe versucht mit "@android: Stil/Theme.AppCompat" auch)

[Activity(Label = "AttendIT Mobile", MainLauncher = true, Icon = "@drawable/icon", Theme = "@style/Theme.AppCompat")] 
public class LoginActivity : AppCompatActivity 

Hier sind (relevante) Projektreferenzen und Komponenten. Project references and components.

Fehle ich etwas? Irgendwelche Ideen?

EDIT

Hier ist mein Layout xml:

hier ist mein packages.config

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Refractored.FloatingActionButton" version="1.3.0" targetFramework="monoandroid60" /> 
    <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid60" /> 
    <package id="Xamarin.Android.Support.v4" version="23.4.0.1" targetFramework="monoandroid60" /> 
    <package id="Xamarin.Android.Support.v7.AppCompat" version="23.4.0.1" targetFramework="monoandroid60" /> 
    <package id="Xamarin.Android.Support.v7.RecyclerView" version="22.0.0.0" targetFramework="monoandroid60" /> 
    <package id="Xamarin.Android.Support.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid60" /> 
</packages> 

Code, der Ausnahme wirft:

private void Initialize() 
{ 

    SetContentView(Resource.Layout.Login); //this method throws exception 



    Button button = FindViewById<Button>(Resource.Id.LoginButton); 
    button.Click += LoginButtonOnClick; 

    TextView textView = FindViewById<TextView>(Resource.Id.Settings); 
    textView.Click += SettingsOnClick; 

    _loginLoader = new ProgressDialog(this); 
    _loginLoader.SetCancelable(false); 
    _loginLoader.SetMessage(Resources.GetString(Resource.String.LoginLoaderMessage)); 

    TimeSpan timeout = new TimeSpan(0, 0, 30); 
    BasicHttpBinding binding = new BasicHttpBinding 
    { 
     Name = "basicHttpBinding", 
     MaxBufferSize = 2147483647, 
     MaxReceivedMessageSize = 2147483647, 
     SendTimeout = timeout, 
     OpenTimeout = timeout, 
     ReceiveTimeout = timeout 
    };  
    _client = new AttendITWCFServiceClient(binding, new EndpointAddress("http://192.168.1.104:55416/AttendITWCFService.svc")); 
    _client.TryLoginCompleted += ClientOnTryLoginCompleted; 
} 

protected override void OnCreate(Bundle bundle) 
{ 
    base.OnCreate(bundle); 
    Initialize(); 
} 

Pakete enter image description here Komponenten enter image description here

+0

Zeigen Sie uns Ihren Code für den jeweiligen Anruf! Haben Sie auch versucht, Ihre Lösung zu bereinigen, Ihre Ordner "bin/obj" zu löschen und neu zu erstellen? –

+0

Manchmal wird das Säubern und Neuaufbau nicht ausreichen, versuchen Sie, VS zu schließen und dann säubern Sie Ihr Projekt neu. – JLONG

+0

@JLONG hat alles versucht, was ihr vorgeschlagen habt, leider hat nichts geklappt, es hat mehr Zeug hinzugefügt, um zu antworten, dass ich glaube, dass es nützlich sein könnte. – Aleksandar

Antwort

2

Der Fehler ist, dass:

java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.TextInputLayout" 

Ist ein Android Support-Design-Bibliothek, auf Ihrem Fall, Sie sind auf Ihrer dass Bibliothek fehlt Paketordner basierend auf den Screenshots Ihres Projekts. Hinzufügen dieses Android Support Design Library würde das Problem lösen. Installieren Sie, schließen Sie VS, säubern Sie die Neuerstellung, und sehen Sie, dass der Fehler weiterhin besteht. Prost!

+0

Das hat funktioniert! Vielen Dank. – Aleksandar

+0

Nein Prob. fröhliche Codierung! – JLONG

Verwandte Themen