MVVMCross の MvxDialogActivity でLegacyBar https://github.com/Cheesebaron/LegacyBarを使用します
次のような LegacyBar サンプルがあります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res/TestAndroid"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<legacybar.library.bar.LegacyBar
android:id="@+id/actionbar"
style="@style/actionbar"
/>
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
そしてコード:
[Activity(Label = "TestAndroid", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
var legacyBar = FindViewById<LegacyBar.Library.Bar.LegacyBar>(Resource.Id.actionbar);
legacyBar.SetDropDown(this, new string[] { "My First Account", "My Second Account", "My Third Account" }, DropDownSelected);
}
private void DropDownSelected(object sender, AdapterView.ItemSelectedEventArgs args)
{
RunOnUiThread(() => Toast.MakeText(this, "You selected account: " + args.Position, ToastLength.Short).Show());
}
}
OK を実行してから、MvvmCross への参照を追加し、別のビューを作成します
public class TestDialogView : MvxDialogActivity
{
}
F5 キーを押してアプリケーションを実行すると、次のエラーが表示されますenter code here
。
未処理の例外: 07-31 01:30:53.752 E/mono (1526): System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.TypeInitializationException: Drawable の型初期化子によって例外がスローされました ---> System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません 07-31 01:30:53.752 E/mono (1526) : Android.Runtime.ResourceIdManager.m_ で[エラー] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.TypeInitializationException: Drawable の型初期化子によって例外がスローされました ---> System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません 07-31 01:30:53.762 I/mono (1526) : Android.Runtime.ResourceIdManager.m で_D1 (System.Reflection.Assembly ass) [0x0000d] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/ResourceIdManager.cs:21 07 -31 01:30:53.762 I/mono (1526): /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src の Android.Runtime.ResourceIdManager.UpdateIdValues () [0x0003a] で/Mono.Android/src/Runtime/ResourceIdManager.cs:22 07-31 01:30:53.762 I/mono (1526): Cirrious.MvvmCross.Dialog.Droid.Resource+Drawable..cctor () [0x00000] で:0 07-31 01:30:53.762 I/mono (1526): --- 内部例外スタック トレースの終わり --- 07-31 01:30:53.762 I/mono (1526): [ProjectName] で。 .UpdateIdValues () [0x00001] in c:\DATA\Working\Rabiti[プロジェクト名]-MonoDroid[プロジェクト名]\
誰にも提案はありますか?
ありがとう!