آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته در این سایت به کمک جمعی از دوستان برنامه نویس خوش ذوق می باشد.

بایگانی

Sending Data from One Activity to Other in Android

چهارشنبه, ۲۹ فروردين ۱۳۹۷، ۰۹:۵۶ ق.ظ

با سلام خدمت دوستان
این مطلب در  یکی از سایت های لاتین پیدا کردم.اینقدر شیوا و ساده توضیخ داده که اصلا نیازی به ترجمه ندارد،لذا اگر متوجه نمشوید که سناریو پیاده شده یا قسمتی از کد رو ،اشاره کنید تا خدمتتون توضیح بدم
با تشکر

Edit your main.xml file add two  textviews, two edittexts, and  a button.

It should look like (you can just copy the following xml code and paste in main.xml file)


main.xml



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">

    <TextView 
        android:text="Name"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
    
      <EditText 
        android:id="@+id/name"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
      <TextView 
        android:text="Phone Number"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
      <EditText 
        android:id="@+id/phone"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
      <Button 
        android:id="@+id/button"
        android:text="OK"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>

</LinearLayout>

Now open the FirstActivity class and write following


 FirstActivity.java


public class FirstActivity extends Activity 
{

     @Override
     public void onCreate(Bundle savedInstanceState)
     {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     Button button=(Button)findViewById(R.id.button);
     final EditText editTextName=(EditText)findViewById(R.id.name);
     final EditText editTExtPhone=(EditText)findViewById(R.id.phone);
    
    
     // add button onClick Listener
     button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String name=editTextName.getText().toString();
long phone=Long.parseLong(editTExtPhone.getText().toString());
// create a new intent
Intent intent =new Intent(getApplicationContext(),SecondActivity.class);
// put the name and phone(to be sent to other activity) in intent
intent.putExtra("PERSON_NAME", name);
intent.putExtra("PHONENUMBER", phone);
// start the second activity
startActivity(intent);
}
});
     }

    
}

Edit your SecondActivity class


Point to Note(To Rememeber)

intent.putExtra("PERSON_NAME", name);
we have put the name in intent with "PERSON_NAME" tag, we will fetch name in second activity with same tag(see second activity).  similarly we can send and fetch any type of data.

SecondActivity.java (Do not forget to declare this activity in manifest file)


public class SecondActivity extends Activity 
{

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// extract the name and phone from intent
String name=getIntent().getStringExtra("PERSON_NAME");
long phoneNumber=getIntent().getLongExtra("PHONENUMBER", 0);
TextView tv=new TextView(this);
tv.setTextSize(20);
String str="NAME : "+name+"\nPhone Number : "+phoneNumber;
tv.setText(str);
setContentView(tv);
}
}


Now run the application, you will see the following


  • امیر دولت آبادی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی