Skip to main content
Source Link
MFP
  • 1.1k
  • 10
  • 24

Create Android Application

File >> New >> Android Application

Enter Project name: android-pass-object-to-activity

Pakcage: com.hmkcode.android

Keep other defualt selections, go Next till you reach Finish

Before start creating the App we need to create POJO class “Person” which we will use to send object from one activity to another. Notice that the class is implementing Serializable interface.

Person.java

package com.hmkcode.android; import java.io.Serializable; public class Person implements Serializable{ private static final long serialVersionUID = 1L; private String name; private int age; // getters & setters.... @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } } 

Two Layouts for Two Activities

activity_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" tools:context=".MainActivity" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tvName" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center_horizontal" android:text="Name" /> <EditText android:id="@+id/etName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tvAge" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center_horizontal" android:text="Age" /> <EditText android:id="@+id/etAge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" /> </LinearLayout> <Button android:id="@+id/btnPassObject" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Pass Object to Another Activity" /> </LinearLayout> 

activity_another.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:id="@+id/tvPerson" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_gravity="center" android:gravity="center_horizontal" /> </LinearLayout> 

Two Activity Classes

1)ActivityMain.java

package com.hmkcode.android; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener { Button btnPassObject; EditText etName, etAge; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnPassObject = (Button) findViewById(R.id.btnPassObject); etName = (EditText) findViewById(R.id.etName); etAge = (EditText) findViewById(R.id.etAge); btnPassObject.setOnClickListener(this); } @Override public void onClick(View view) { // 1. create an intent pass class name or intnet action name Intent intent = new Intent("com.hmkcode.android.ANOTHER_ACTIVITY"); // 2. create person object Person person = new Person(); person.setName(etName.getText().toString()); person.setAge(Integer.parseInt(etAge.getText().toString())); // 3. put person in intent data intent.putExtra("person", person); // 4. start the activity startActivity(intent); } } 

2)AnotherActivity.java

package com.hmkcode.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class AnotherActivity extends Activity { TextView tvPerson; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); // 1. get passed intent Intent intent = getIntent(); // 2. get person object from intent Person person = (Person) intent.getSerializableExtra("person"); // 3. get reference to person textView tvPerson = (TextView) findViewById(R.id.tvPerson); // 4. display name & age on textView tvPerson.setText(person.toString()); } } 
Post Made Community Wiki by MFP