サンプルのアンドロイドアプリをテストしていましたが、ボタンハンドラの作成時にエラーが発生しました。Xamarin.Androidでプログラムを実行すると、ボタンハンドラを作成する際に処理されない例外が発生する
エラーを助けてください:未処理の例外: System.NullReferenceException:オブジェクト参照がオブジェクトインスタンスに設定されていません。
を発生し、適切なソリューションで私を助けてください:次のように
using Android.App;
using Android.Widget;
using Android.OS;
namespace Android_Picture
{
[Activity(Label = "Android Picture", MainLauncher = true, Icon =
"@drawable/icon")]
public class MainActivity : Activity
{
Button ButtonPrev;
Button ButtonNext;
TextView TextTitle;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
ButtonPrev = FindViewById<Button>(Resource.Id.buttonPrev);
ButtonNext = FindViewById<Button>(Resource.Id.buttonNext);
TextTitle = FindViewById<TextView>(Resource.Id.textTitle);
ButtonPrev.Click += ButtonPrev_Click; //error
ButtonNext.Click += ButtonNext_Click;
}
private void ButtonNext_Click(object sender, System.EventArgs e)
{
TextTitle.Text = "Next Clicked";
//throw new System.NotImplementedException();
}
private void ButtonPrev_Click(object sender, System.EventArgs e)
{
TextTitle.Text = "Previous Clicked";
//throw new System.NotImplementedException();
}
}
}
私Main.axmlは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="Prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/buttonPrev"
android:layout_alignParentBottom="true" />
<Button
android:text="Next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/buttonNext"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
<TextView
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textTitle"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="150dp" />
</RelativeLayout>
は、ButtonPrevがnullですか?その値を割り当てたFindViewById呼び出しが成功しましたか? – Jason
ええ..私のビルドは成功! @ジェイソン –
それは私が推測するレイアウトの問題かもしれません..?私はLinearからRelativeに変更しました! –