c# - SetSupportActionBar crashes in visual studio and Xamarin -


i'm trying create android application using xamarin , visual studio. strange error while using setsupportactionbar function.

this xml code:

<?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> 

and c# file code:

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();              .             .             .         }     } } 

the weird thing application crashes when comes command: setsupportactionbar(mtoolbar);

this exception got:

exception of type 'java.lang.illegalstateexception' thrown. 09-26 12:09:03.399 i/mono-stdout(13640): exception of type 'java.lang.illegalstateexception' 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] mscorlib 09-26 12:09:07.468 i/mono-stdout(13640): mscorlib   @ 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):   @ 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):   @ 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    @ 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    @ android.support.v7.app.appcompatactivity.setsupportactionbar (android.support.v7.widget.toolbar toolbar) [0x00091] in <filename unknown>:0    @ 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: activity has action bar supplied window decor. not request window.feature_action_bar , set windowactionbar false in theme use toolbar instead.     @ android.support.v7.app.appcompatdelegateimplv7.setsupportactionbar(appcompatdelegateimplv7.java:193)     @ android.support.v7.app.appcompatactivity.setsupportactionbar(appcompatactivity.java:96)     @ md5f6ea2975de2355cb6a 09-26 12:09:09.038 i/mono-stdout(13640):   @ 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):   @ 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)     @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.oncreate(mainscreen.java:36)     @ android.app.activity.performcreate(activity.java:5990)     @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)     @ android.app.activitythread.performlaunchactivity(activitythread.java:2309)     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2418)     @ android.app.activitythread.access$900(activitythread.java:154)     @ android.app.activitythread$h.handlemessage(activitythread.java:1321)     @ android.os.handler.dispatchmessage(handler.java:102)     @ android.os.looper.loop(looper.java:135)     @ android.app.activitythread.main(activitythread.java:5289)     @ java.lang.reflect.method.invoke(native method)     @ java.lang.reflect.method.invoke(method.java:372)     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:904)     @ 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: activity has action bar supplied window decor. not request window.feature_action_bar , set windowactionbar false in theme use toolbar instead. 09-26 12:09:09.039 i/mono-stdout(13640):    @ android.support.v7.app.appcompatdelegateimplv7.setsupportactionbar(appcompatdelegateimplv7.java:193) 09-26 12:09:09.039 i/mono-stdout(13640):    @ android.support.v7.app.appcompatactivity.setsupportactionbar(appcompatactivity.java:96) 09-26 12:09:09.039 i/mono-stdout(13640):    @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.n_oncreate(native method) 09-26 12:09:09.039 i/mono-stdout(13640):    @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.oncreate(mainscreen.java:36) 09-26 12:09:09.040 i/mono-stdout(13640):    @ android.app.activity.performcreate(activity.java:5990) 09-26 12:09:09.040 i/mono-stdout(13640):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106) 09-26 12:09:09.040 i/mono-stdout(13640):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2309) 09-26 12:09:09.041 i/mono-stdout(13640):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2418) 09-26 12:09:09.041 i/mono-stdout(13640):    @ android.app.activitythread.access$900(activitythread.java:154) 09-26 12:09:09.042 i/mono-stdout(13640):    @ android.app.activitythread$h.handlemessage(activitythread.java:1321) 09-26 12:09:09.042 i/mono-stdout(13640):    @ android.os.handler.dispatchmessage(handler.java:102) 09-26 12:09:09.042 i/mono-stdout(13640):    @ android.os.looper.loop(looper.java:135) 09-26 12:09:09.042 i/mono-stdout(13640):    @ android.app.activitythread.main(activitythread.java:5289) 09-26 12:09:09.042 i/mono-stdout(13640):    @ java.lang.reflect.method.invoke(native method) 09-26 12:09:09.042 i/mono-stdout(13640):    @ java.lang.reflect.method.invoke(method.java:372) 09-26 12:09:09.042 i/mono-stdout(13640):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:904) 09-26 12:09:09.042 i/mono-stdout(13640):    @ 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' thrown. java.lang.illegalstateexception: exception of type 'java.lang.illegalstateexception' thrown. 09-26 12:09:10.515 i/mono-stdout(13640):   @ system.runtime.exceptionservices.exceptiondispatchinfo.throw () [0x0000b] in /users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/system.runtime.exceptionservices/exceptiondispatchinfo.cs:61    @ 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):   @ 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    @ 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    @ 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):   @ android.support.v7.app.appcompatactivity.setsupportactionbar (android.support.v7.widget.toolbar toolbar) [0x00091] in <filename unknown>:0    @ 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):   @ ibuy.mainscreen.oncreate (android.os.bundle bundle) [0x0005b] in c:\users\איציק\source\workspaces\ibuy\ibuy\ibuy\screens\mainscreen.cs:42  java.lang.illegalstateexception: activity has action bar supplied window decor. not request window.feature_action_bar , set windowactionbar false in theme use toolbar instead.     @ android.support.v7.app.appcompatdelegateimplv7.setsupportactionbar(appcompatdelegateimplv7.java:193)     @ android.support.v7.app.appcompatactivity.setsupportactionbar(appcompatactivity.java:96)     @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.n_oncreate(native method)     @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.oncreate(mainscreen.java:36)     @ android.app.activity.performcreate(activity.java:5990)     @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)     @ android.app.activitythread.performlaunchactivity(activitythread.java:2309)     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2418) 09-26 12:09:10.520 i/mono-stdout(13640):   --- end of managed exception stack trace ---     @ android.app.activitythread.access$900(activitythread.java:154)     @ android.app.activitythread$h.handlemessage(activitythread.java:1321)     @ android.os.handler.dispatchmessage(handler.java:102)     @ android.os.looper.loop(looper.java:135) 09-26 12:09:10.523 i/mono-stdout(13640): java.lang.illegalstateexception: activity has action bar supplied window decor. not request window.feature_action_bar , set windowactionbar false in theme use toolbar instead.     @ android.app.activitythread.main(activitythread.java:5289)     @ java.lang.reflect.method.invoke(native method)     @ java.lang.reflect.method.invoke(method.java:372) 09-26 12:09:10.523 i/mono-stdout(13640):    @ android.support.v7.app.appcompatdelegateimplv7.setsupportactionbar(appcompatdelegateimplv7.java:193)     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:904) 09-26 12:09:10.524 i/mono-stdout(13640):    @ android.support.v7.app.appcompatactivity.setsupportactionbar(appcompatactivity.java:96)     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:699) 09-26 12:09:10.529 i/mono-stdout(13640):    @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.n_oncreate(native method) 09-26 12:09:10.529 i/mono-stdout(13640):    @ md5f6ea2975de2355cb6a574b5b4ea31e7d.mainscreen.oncreate(mainscreen.java:36) 09-26 12:09:10.530 i/mono-stdout(13640):    @ android.app.activity.performcreate(activity.java:5990) 09-26 12:09:10.531 i/mono-stdout(13640):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106) 09-26 12:09:10.532 i/mono-stdout(13640):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2309) 09-26 12:09:10.534 i/mono-stdout(13640):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2418) 09-26 12:09:10.535 i/mono-stdout(13640):    @ android.app.activitythread.access$900(activitythread.java:154) 09-26 12:09:10.536 i/mono-stdout(13640):    @ android.app.activitythread$h.handlemessage(activitythread.java:1321) 09-26 12:09:10.537 i/mono-stdout(13640):    @ android.os.handler.dispatchmessage(handler.java:102) 09-26 12:09:10.539 i/mono-stdout(13640):    @ android.os.looper.loop(looper.java:135) 09-26 12:09:10.543 i/mono-stdout(13640):    @ java.lang.reflect.method.invoke(native method) 09-26 12:09:10.544 i/mono-stdout(13640):    @ java.lang.reflect.method.invoke(method.java:372) 09-26 12:09:10.546 i/mono-stdout(13640):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:904) 09-26 12:09:10.547 i/mono-stdout(13640):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:699) 

it worked fine before , don't recall changing can make crash.

can give me tip do?

thank in advance!

looks theme not correctly configured.

either use in theme (see related answer)

<item name="windowactionbar">false</item>

or derive theme without action bar (see related answer), example:

theme.appcompat.light.noactionbar


Comments