Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to set a custom title using Xamarin/Monodroid
    text
    copied!<p>Has anyone successfully set a custom title using MonoDroid?</p> <p>This code fails:</p> <pre><code>base.OnCreate (bundle); SetContentView (Resource.Layout.WordSearchLayout); //Customise the title bar if (this.Window.RequestFeature(WindowFeatures.CustomTitle)) { this.Window.SetFeatureInt (WindowFeatures.CustomTitle, Resource.Layout.custom_title); } </code></pre> <p>Strangely, it fails on the call to <code>RequestFeature</code> with the exception <code>requestFeature() must be called!</code>. </p> <pre><code>I/MonoDroid(26052): UNHANDLED EXCEPTION: Android.Util.AndroidRuntimeException: Exception of type 'Android.Util.AndroidRuntimeException' was thrown. I/MonoDroid(26052): at Android.Runtime.JNIEnv.CallBooleanMethod (intptr,intptr,Android.Runtime.JValue[]) &lt;0x0007c&gt; I/MonoDroid(26052): at Android.Views.Window.RequestFeature (Android.Views.WindowFeatures) &lt;0x00157&gt; I/MonoDroid(26052): at com.xxx.android.WordSearchActivity.OnCreate (Android.OS.Bundle) &lt;0x0013b&gt; I/MonoDroid(26052): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) &lt;0x0005f&gt; I/MonoDroid(26052): at (wrapper dynamic-method) object.1a40b50f-d523-4f52-b291-bcedd3a88965 (intptr,intptr,intptr) &lt;0x00033&gt; I/MonoDroid(26052): I/MonoDroid(26052): --- End of managed exception stack trace --- I/MonoDroid(26052): android.util.AndroidRuntimeException: requestFeature() must be called before adding content I/MonoDroid(26052): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:181) I/MonoDroid(26052): at com.xxx.android.WordSearchActivity.n_onCreate(Native Method) I/MonoDroid(26052): at com.xxx.android.WordSearchActivity.onCreate(WordSearchActivity.java:30) I/MonoDroid(26052): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1065) I/MonoDroid(26052): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) I/MonoDroid(26052): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797) I/MonoDroid(26052): at android.app.ActivityThread.access$2300(ActivityThread.java:135) I/MonoDroid(26052): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132) I/MonoDroid(26052): at android.os.Handler.dispatchMessage(Handler.java:99) I/MonoDroid(26052): at android.os.Looper.loop(Looper.java:143) I/MonoDroid(26052): at android.app.ActivityThread.main(ActivityThread.java:4914) I/MonoDroid(26052): at java.lang.reflect.Method.invokeNative(Native Method) I/MonoDroid(26052): at java.lang.reflect.Method.invoke(Method.java:521) I/MonoDroid(26052): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) I/MonoDroid(26052): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) I/MonoDroid(26052): at dalvik.system.NativeStart.main(Native Method) E/mono (26052): E/mono (26052): Unhandled Exception: Android.Util.AndroidRuntimeException: Exception of type 'Android.Util.AndroidRuntimeException' was thrown. E/mono (26052): at Android.Runtime.JNIEnv.CallBooleanMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00000] in &lt;filename unknown&gt;:0 E/mono (26052): at Android.Views.Window.RequestFeature (WindowFeatures featureId) [0x00000] in &lt;filename unknown&gt;:0 E/mono (26052): at com.xxx.android.WordSearchActivity.OnCreate (Android.OS.Bundle bundle) [0x00000] in &lt;filename unknown&gt;:0 E/mono (26052): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (IntPtr jnienv, IntPtr native__this, IntPtr native_savedInstanceState) [0x00000] in &lt;filename unknown&gt;:0 E/mono (26052): at (wrapper dynamic-method) object:1a40b50f-d523-4f52-b291-bcedd3a88965 (intptr,intptr,intptr) E/mono (26052): --- End of managed exception stack trace --- E/mono (26052): android.util.AndroidRuntimeException: requestFeature() must be called before adding content E/mono (26052): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:181) E/mono (26052): at com.xxx.andro </code></pre> <p>Changing the ordering of the code to call <code>SetContentView</code> (see below) has some effect:</p> <pre><code> base.OnCreate (bundle); //Customise the title bar if (this.Window.RequestFeature (WindowFeatures.CustomTitle)) { this.Window.SetFeatureInt (WindowFeatures.CustomTitle, Resource.Layout.custom_title); } SetContentView (Resource.Layout.WordSearchLayout); </code></pre> <p>This will result in an empty grey bar in the title, but nothing else. custom_title is defined as:</p> <pre><code>&lt;TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myTitle" android:text="This is my new title" android:layout_width="fill_parent" android:layout_height="50dp" android:textColor="@android:color/black" android:background="@android:color/white" android:layout_marginLeft="25px" android:paddingTop="3px" /&gt; </code></pre> <p>Same result (grey bar) on emulator and device.</p> <p>Any ideas?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload