私は、スピナーを使って2つのアクティビティをAndroidアプリケーションで切り替える方法があるのだろうかと思っていました。私はスピナーの最初の項目がアクティブになる最初のアクティビティが選択され、その逆の場合に欲しいです。私はこれを試してみましたが、応答がありませんでした:c#xamarin switching activities
if (spinner.SelectedItem == item1) {
Start Activity (Activity2)
}
ことは、私はこのような私のスピナーに項目を追加するためのstrings.xmlファイルを使用している:
<string-array name:"spinnerItems">
<item id="item1">...</item>
<item id="item2">...</item>
</string-array>
そして、これはどこMain.xmlファイルです私はスピナーを追加しました:私は何とか主な活動の中からスピナー配列リストにアクセスしたり、FindViewByIdメソッドを使用して、それを開始しなければならない場合
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:entries="@array/spinnerItems"/>
は、だから私は思っていたので、私は、条件付きstatemのためのアイテムを使用することができますent。
編集:
void Spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
{
int selectedPositon = e.Position;
switch(e.Position)
{
case 1:
StartActivity(typeof(Activity2));
break;
}
}
spinner.ItemSelected += Spinner_ItemSelected;
これは私の第二のアクティビティに私を送り、それは私の第2のレイアウトをロードします。しかし、私は戻って最初の1に取得するには、このコードを使用し、私の第二の活動に:私は(ケース0)を行う場合、スピナーは私の最初の項目にとどまるので、それはさわやかに保つため
void Spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
{
int selectedPositon = e.Position;
switch (e.Position)
{
case 1:
StartActivity(typeof(MainActivity));
break;
}
}
私は再び(ケース1)を使用します。このように、ケース1を2回使用すると、それらの間を入れ替えることができますが、アイテムのテキストは正しくありません。基本的には、「ケース1」または「アイテム1」をクリックし、2番目のアクティビティに進みます。スピナーの選択に応じて、活動を変更
フラグメントの使用はどうですか? – Mulflar
'StartActivity(新しいインテント(アクティビティ、typeof(Activity2)));'うまくいくはず –
フラグメントの意味は? – Nivalen