ارسال داده از یک Intent به Intent دوم در Xamarin.Android
چهارشنبه 11 آذر 1394در این مقاله می خواهیم در مورد Intent ها صحبت نماییم، کاربرد Intent و صدا زدن و رفتن از یک Intent به Intent دوم در xamarin.android است.
ابتدا داخل فایل Xaml ابزار های زیر را قرار دهید به صورت زیر:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="نام خود را وارد نمایید" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/textView1" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_Name" /> <Button android:text="ثبت" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/btn_Submit" /> </LinearLayout>
حالا برای رفتن به Layout دوم می توانید از یک Textview استفاده نمایید که با زدن نام خود و دکمه نام کاربر به intent دوم می رود و با یک پیغام textview نمایش می دهد.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minWidth="25px" android:minHeight="25px"> <TextView android:text="سلام" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt_Result" /> </LinearLayout>
حالا باید سراغ کلاس Activity برویم در این کلاس ابزار های استفاده شده را تعریف نمایید و برای هر دکمه یک رویداد تعریف نمایید که اگر داخل Textbox پر بود متن را بگیرد و به Intent دوم برود و آن را نمایش دهد و اگر پر نبود یک پیغام Toast نمایش دهد.
کلاس Activity برای گرفتن متن به صورت زیر است:
public class Activity1 : Activity { EditText txt_Name; Button btn_Submit; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); //Get txt_Name and btn_Submit Button CheckBox control from the Main.xaml Layout. txt_Name = FindViewById<EditText>(Resource.Id.txt_Name); btn_Submit = FindViewById<Button>(Resource.Id.btn_Submit); //btn_Submit click event btn_Submit.Click += btn_Submit_Click; } void btn_Submit_Click(object sender, EventArgs e) { //if EditText in not Empty if(txt_Name.Text!="") { //passing the Activity2 in Intent Intent i = new Intent(this,typeof(Activity2)); //Add PutExtra method data to intent. i.PutExtra("Name",txt_Name.Text.ToString()); //StartActivity StartActivity(i); } else { Toast.MakeText(this,"لطفا نام ار وارد نمایید",ToastLength.Short).Show(); } } }
حالا برای activity دوم و نمایش آن داخل intent دوم باید کد زیر را قرار دهید که Textview را معرفی می نماید و نام را دریافت می کند و داخل Textview به همراه یک کلمه مثل سلام نمایش می دهد
کد کلاس Activity2:
public class Activity2 : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "Result" layout resource SetContentView(Resource.Layout.Result); //Get txt_Result TextView control from the Main.xaml Layout. TextView txt_Result = FindViewById<TextView>(Resource.Id.txt_Result); //Retrieve the data using Intent.GetStringExtra method string name = Intent.GetStringExtra("Name"); txt_Result.Text ="سلام, "+name; } }
خروجی به صورت زیر خواهد بود:
بعد از وارد کردن اسم و رفتن به Intent دوم:
دوره های آموزشی زامارین
دوره برنامه نویسی اندروید با سی شارپ ( Xamarin )
آموزش متریال دیزاین در زامارین
آموزش Xamarin Forms
دوره Xamarin Form پیشرفته
- Xamarin
- 2k بازدید
- 5 تشکر