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