c# –SetSupportActionBar在visual studio和Xamarin中崩溃了

c# –SetSupportActionBar在visual studio和Xamarin中崩溃了,第1张

概述我正在尝试使用Xamarin和VisualStudio创建一个Android应用程序.突然,我在使用SetSupportActionBar函数时遇到了一个奇怪的错误.这是我的XML代码:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apkes/android"x

我正在尝试使用Xamarin和Visual Studio创建一个Android应用程序.
突然,我在使用SetSupportActionbar函数时遇到了一个奇怪的错误.

这是我的XML代码:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    androID:orIEntation="vertical"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent">  <androID.support.v7.Widget.Toolbar      androID:ID="@+ID/toolbar"      androID:layout_wIDth="match_parent"      androID:layout_height="wrap_content"      androID:minHeight="?attr/actionbarSize"      androID:background="?attr/colorPrimary"      app:theme="@style/themeOverlay.AppCompat.Dark.Actionbar"      app:popuptheme="@style/themeOverlay.AppCompat.Dark" />  <androID.support.v4.Widget.DrawerLayout      androID:ID="@+ID/drawer_layout"      androID:layout_wIDth="match_parent"      androID:layout_height="match_parent">    <relativeLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent">      .      .      .    </relativeLayout>    <ListVIEw        androID:ID="@+ID/left_drawer"        androID:layout_wIDth="240dp"        androID:layout_height="match_parent"        androID:layout_gravity="start"        androID:choiceMode="singleChoice"        androID:divIDer="#818181"        androID:divIDerHeight="1dp"        androID:background="#E3F2FD" />  </androID.support.v4.Widget.DrawerLayout></linearLayout>

这是我的C#文件代码:

using System;using System.Collections.Generic;using System.linq;using AndroID.App;using AndroID.OS;using AndroID.Widget;using SupportToolbar = AndroID.Support.V7.Widget.Toolbar;using AndroID.Support.V7.App;using AndroID.Support.V4.Widget;using AndroID.Locations;using System.Net;namespace IBuy{    [Activity(Label = "Main Screen", theme = "@style/Mytheme")]    public class MainScreen : ActionBaractivity, ILocationListener    {        private SupportToolbar mToolbar;        private MyActionbarDrawerToggle mDrawerToggle;        private DrawerLayout mDrawerLayout;        private ListVIEw mleftDrawer;        private int userID, storeID, permission;        private LocationManager locationManager;        private string deviceid = Build.Serial;        private double currentX = 0, currentY = 0;        private bool sent = false;        private Progressbar pbar;        private TextVIEw txt;        protected overrIDe voID OnCreate(Bundle bundle)        {            base.OnCreate(bundle);            SetContentVIEw(Resource.Layout.MainScreen);            Title = GetString(Resource.String.main_screen);            try            {                mToolbar = FindVIEwByID<SupportToolbar>(Resource.ID.toolbar);                mDrawerLayout = FindVIEwByID<DrawerLayout>(Resource.ID.drawer_layout);                mleftDrawer = FindVIEwByID<ListVIEw>(Resource.ID.left_drawer);                SetSupportActionbar(mToolbar);            }            catch (Exception ex)            {                Console.Writeline("@@@@@@@@@@@@@@@@@@@");                Console.Writeline(ex.Message);                Console.Writeline(ex.InnerException);                Console.Writeline(ex.Data);                Console.Writeline(ex.source);                Console.Writeline(ex.StackTrace);                Console.Writeline(ex.ToString());                Console.Writeline("#################");            }            mDrawerToggle = new MyActionbarDrawerToggle(this, mDrawerLayout, Resource.String.openDrawer, Resource.String.closeDrawer);            mDrawerLayout.SetDrawerListener(mDrawerToggle);            SupportActionbar.SetHomebuttonEnabled(true);            SupportActionbar.SetdisplayShowTitleEnabled(true);            mDrawerToggle.SyncState();            .            .            .        }    }}

奇怪的是,当涉及到这个命令时应用程序崩溃:SetSupportActionbar(mToolbar);

这是我得到的例外:

Exception of type 'java.lang.IllegalStateException' was thrown.09-26 12:09:03.399 I/mono-stdout(13640): Exception of type 'java.lang.IllegalStateException' was thrown.System.Collections.Generic.Dictionary`2[System.Object,System.Object]09-26 12:09:05.849 I/mono-stdout(13640): System.Collections.Generic.Dictionary`2[System.Object,System.Object]mscorlib09-26 12:09:07.468 I/mono-stdout(13640): mscorlib  at System.Runtime.ExceptionServices.ExceptiondispatchInfo.Throw () [0x0000b] in /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptiondispatchInfo.cs:61 09-26 12:09:09.037 I/mono-stdout(13640):   at System.Runtime.ExceptionServices.ExceptiondispatchInfo.Throw () [0x0000b] in /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptiondispatchInfo.cs:61 09-26 12:09:09.038 I/mono-stdout(13640):   at AndroID.Runtime.jnienv.CallNonvirtualVoIDMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, AndroID.Runtime.JValue* parms) [0x00084] in /Users/builder/data/lanes/1978/f98871a9/source/monodroID/src/Mono.AndroID/src/Runtime/jnienv.g.cs:1029   at AndroID.Runtime.jnienv.CallNonvirtualVoIDMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, AndroID.Runtime.JValue* parms) [0x00084] in /Users/builder/data/lanes/1978/f98871a9/source/monodroID/src/Mono.AndroID/src/Runtime/jnienv.g.cs:1029   at AndroID.Support.V7.App.AppCompatActivity.SetSupportActionbar (AndroID.Support.V7.Widget.Toolbar toolbar) [0x00091] in <filename unkNown>:0   at IBuy.MainScreen.OnCreate (AndroID.OS.Bundle bundle) [0x0005b] in C:\Users\איציק\Source\Workspaces\iBuy\IBuy\IBuy\Screens\MainScreen.cs:42   --- End of managed exception stack trace ---java.lang.IllegalStateException: This Activity already has an action bar supplIEd by the window decor. Do not request Window.FEATURE_ACTION_bar and set windowActionbar to false in your theme to use a Toolbar instead.    at androID.support.v7.app.AppCompatDelegateImplV7.setSupportActionbar(AppCompatDelegateImplV7.java:193)    at androID.support.v7.app.AppCompatActivity.setSupportActionbar(AppCompatActivity.java:96)    at md5f6ea2975de2355cb6a09-26 12:09:09.038 I/mono-stdout(13640):   at AndroID.Support.V7.App.AppCompatActivity.SetSupportActionbar (AndroID.Support.V7.Widget.Toolbar toolbar) [0x00091] in <filename unkNown>:0 09-26 12:09:09.038 I/mono-stdout(13640):   at IBuy.MainScreen.OnCreate (AndroID.OS.Bundle bundle) [0x0005b] in C:\Users\איציק\Source\Workspaces\iBuy\IBuy\IBuy\Screens\MainScreen.cs:42 574b5b4ea31e7d.MainScreen.n_onCreate(Native Method)    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.onCreate(MainScreen.java:36)    at androID.app.Activity.performCreate(Activity.java:5990)    at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)    at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309)    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)    at androID.app.ActivityThread.access0(ActivityThread.java:154)    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)    at androID.os.Handler.dispatchMessage(Handler.java:102)    at androID.os.Looper.loop(Looper.java:135)    at androID.app.ActivityThread.main(ActivityThread.java:5289)    at java.lang.reflect.Method.invoke(Native Method)    at java.lang.reflect.Method.invoke(Method.java:372)    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:699)09-26 12:09:09.038 I/mono-stdout(13640):   --- End of managed exception stack trace ---09-26 12:09:09.038 I/mono-stdout(13640): java.lang.IllegalStateException: This Activity already has an action bar supplIEd by the window decor. Do not request Window.FEATURE_ACTION_bar and set windowActionbar to false in your theme to use a Toolbar instead.09-26 12:09:09.039 I/mono-stdout(13640):    at androID.support.v7.app.AppCompatDelegateImplV7.setSupportActionbar(AppCompatDelegateImplV7.java:193)09-26 12:09:09.039 I/mono-stdout(13640):    at androID.support.v7.app.AppCompatActivity.setSupportActionbar(AppCompatActivity.java:96)09-26 12:09:09.039 I/mono-stdout(13640):    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.n_onCreate(Native Method)09-26 12:09:09.039 I/mono-stdout(13640):    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.onCreate(MainScreen.java:36)09-26 12:09:09.040 I/mono-stdout(13640):    at androID.app.Activity.performCreate(Activity.java:5990)09-26 12:09:09.040 I/mono-stdout(13640):    at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)09-26 12:09:09.040 I/mono-stdout(13640):    at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309)09-26 12:09:09.041 I/mono-stdout(13640):    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)09-26 12:09:09.041 I/mono-stdout(13640):    at androID.app.ActivityThread.access0(ActivityThread.java:154)09-26 12:09:09.042 I/mono-stdout(13640):    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)09-26 12:09:09.042 I/mono-stdout(13640):    at androID.os.Handler.dispatchMessage(Handler.java:102)09-26 12:09:09.042 I/mono-stdout(13640):    at androID.os.Looper.loop(Looper.java:135)09-26 12:09:09.042 I/mono-stdout(13640):    at androID.app.ActivityThread.main(ActivityThread.java:5289)09-26 12:09:09.042 I/mono-stdout(13640):    at java.lang.reflect.Method.invoke(Native Method)09-26 12:09:09.042 I/mono-stdout(13640):    at java.lang.reflect.Method.invoke(Method.java:372)09-26 12:09:09.042 I/mono-stdout(13640):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)09-26 12:09:09.042 I/mono-stdout(13640):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:699)09-26 12:09:10.509 I/mono-stdout(13640): java.lang.IllegalStateException: Exception of type 'java.lang.IllegalStateException' was thrown.java.lang.IllegalStateException: Exception of type 'java.lang.IllegalStateException' was thrown.09-26 12:09:10.515 I/mono-stdout(13640):   at System.Runtime.ExceptionServices.ExceptiondispatchInfo.Throw () [0x0000b] in /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptiondispatchInfo.cs:61   at System.Runtime.ExceptionServices.ExceptiondispatchInfo.Throw () [0x0000b] in /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptiondispatchInfo.cs:61 09-26 12:09:10.517 I/mono-stdout(13640):   at AndroID.Runtime.jnienv.CallNonvirtualVoIDMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, AndroID.Runtime.JValue* parms) [0x00084] in /Users/builder/data/lanes/1978/f98871a9/source/monodroID/src/Mono.AndroID/src/Runtime/jnienv.g.cs:1029   at AndroID.Runtime.jnienv.CallNonvirtualVoIDMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, AndroID.Runtime.JValue* parms) [0x00084] in /Users/builder/data/lanes/1978/f98871a9/source/monodroID/src/Mono.AndroID/src/Runtime/jnienv.g.cs:1029   at AndroID.Support.V7.App.AppCompatActivity.SetSupportActionbar (AndroID.Support.V7.Widget.Toolbar toolbar) [0x00091] in <filename unkNown>:0 09-26 12:09:10.518 I/mono-stdout(13640):   at AndroID.Support.V7.App.AppCompatActivity.SetSupportActionbar (AndroID.Support.V7.Widget.Toolbar toolbar) [0x00091] in <filename unkNown>:0   at IBuy.MainScreen.OnCreate (AndroID.OS.Bundle bundle) [0x0005b] in C:\Users\איציק\Source\Workspaces\iBuy\IBuy\IBuy\Screens\MainScreen.cs:42   --- End of managed exception stack trace ---09-26 12:09:10.520 I/mono-stdout(13640):   at IBuy.MainScreen.OnCreate (AndroID.OS.Bundle bundle) [0x0005b] in C:\Users\איציק\Source\Workspaces\iBuy\IBuy\IBuy\Screens\MainScreen.cs:42 java.lang.IllegalStateException: This Activity already has an action bar supplIEd by the window decor. Do not request Window.FEATURE_ACTION_bar and set windowActionbar to false in your theme to use a Toolbar instead.    at androID.support.v7.app.AppCompatDelegateImplV7.setSupportActionbar(AppCompatDelegateImplV7.java:193)    at androID.support.v7.app.AppCompatActivity.setSupportActionbar(AppCompatActivity.java:96)    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.n_onCreate(Native Method)    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.onCreate(MainScreen.java:36)    at androID.app.Activity.performCreate(Activity.java:5990)    at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)    at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309)    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)09-26 12:09:10.520 I/mono-stdout(13640):   --- End of managed exception stack trace ---    at androID.app.ActivityThread.access0(ActivityThread.java:154)    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)    at androID.os.Handler.dispatchMessage(Handler.java:102)    at androID.os.Looper.loop(Looper.java:135)09-26 12:09:10.523 I/mono-stdout(13640): java.lang.IllegalStateException: This Activity already has an action bar supplIEd by the window decor. Do not request Window.FEATURE_ACTION_bar and set windowActionbar to false in your theme to use a Toolbar instead.    at androID.app.ActivityThread.main(ActivityThread.java:5289)    at java.lang.reflect.Method.invoke(Native Method)    at java.lang.reflect.Method.invoke(Method.java:372)09-26 12:09:10.523 I/mono-stdout(13640):    at androID.support.v7.app.AppCompatDelegateImplV7.setSupportActionbar(AppCompatDelegateImplV7.java:193)    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)09-26 12:09:10.524 I/mono-stdout(13640):    at androID.support.v7.app.AppCompatActivity.setSupportActionbar(AppCompatActivity.java:96)    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:699)09-26 12:09:10.529 I/mono-stdout(13640):    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.n_onCreate(Native Method)09-26 12:09:10.529 I/mono-stdout(13640):    at md5f6ea2975de2355cb6a574b5b4ea31e7d.MainScreen.onCreate(MainScreen.java:36)09-26 12:09:10.530 I/mono-stdout(13640):    at androID.app.Activity.performCreate(Activity.java:5990)09-26 12:09:10.531 I/mono-stdout(13640):    at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)09-26 12:09:10.532 I/mono-stdout(13640):    at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309)09-26 12:09:10.534 I/mono-stdout(13640):    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)09-26 12:09:10.535 I/mono-stdout(13640):    at androID.app.ActivityThread.access0(ActivityThread.java:154)09-26 12:09:10.536 I/mono-stdout(13640):    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)09-26 12:09:10.537 I/mono-stdout(13640):    at androID.os.Handler.dispatchMessage(Handler.java:102)09-26 12:09:10.539 I/mono-stdout(13640):    at androID.os.Looper.loop(Looper.java:135)09-26 12:09:10.543 I/mono-stdout(13640):    at java.lang.reflect.Method.invoke(Native Method)09-26 12:09:10.544 I/mono-stdout(13640):    at java.lang.reflect.Method.invoke(Method.java:372)09-26 12:09:10.546 I/mono-stdout(13640):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)09-26 12:09:10.547 I/mono-stdout(13640):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:699)

它以前工作得很好,我不记得改变任何有关它的事情会导致它崩溃.

任何人都可以给我一个小费怎么办?

先感谢您!

解决方法:

看起来您的主题配置不正确.

在你的主题中使用(见related answer)

< item name =“windowActionbar”> false< / item>

或者从没有 *** 作栏的主题派生(见related answer),例如:

theme.AppCompat.light.NoActionbar

总结

以上是内存溢出为你收集整理的c# – SetSupportActionBar在visual studio和Xamarin中崩溃了全部内容,希望文章能够帮你解决c# – SetSupportActionBar在visual studio和Xamarin中崩溃了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1119380.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存