This post will try to cover how to start a second activity from main activity on button click and pass data.
I will assume that you have 2 activities and 2 xml files (one for each activity).
First activity has one button, on clicking which we will start the second activity by using explicit intent. While starting the second activity we will use putExtra() method to pass the data to second activity.
Once second activity is started, the data passed from first activity will be displayed in second activity as toast messages.
Second activity has a button, on clicking which we will close second activity by using finish() method.
First screen Second screen
First Activity
package com.techpalle.b15_startactivity; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b = (Button) findViewById(R.id.button1); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent in = new Intent(getApplicationContext(), SecondaryScreen.class); in.putExtra("uid", "satish"); startActivity(in); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
xml layout file for First Activity
File name: activity_main.xml
File name: activity_main.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_marginTop="58dp"
android:layout_toRightOf="@+id/textView1"
android:text="Start" />
</RelativeLayout>
Second Activity
package com.techpalle.b15_startactivity; import java.io.Closeable; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class SecondaryScreen extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); Intent in = getIntent(); String action = in.getAction(); Bundle bnd = in.getExtras(); String uid = bnd.getString("uid"); Toast.makeText(this, "uid is.."+uid+"..action.."+action, 0).show(); Button b = (Button) findViewById(R.id.button1); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); // TODO Auto-generated method stub } }
xml layout file for Second Activity
File name: second.xml
File name: second.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome second.."
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go Back" />
</LinearLayout>
Tags : android, startactivity, putextras, pass data between activities, start second activity, android tutorial
Download complete code : Click to download
android activity interview questions and answers
Similar basic activity programs:
changing edittext text from button click listener
Simple calculator program to add and subtract 2 numbers
How to start an activity from main activity on clicking button, and pass data
Starting second activity based on login and password details
Getting results from child activity
No comments:
Post a Comment