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.
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();
}
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? –
Manchmal wird das Säubern und Neuaufbau nicht ausreichen, versuchen Sie, VS zu schließen und dann säubern Sie Ihr Projekt neu. – JLONG
@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