
Serete Itebete
After writing a single activity, there comes a need to transition to another activity to perform another task either with or without information from the first activity.
Android platform allows transition by means of Intent Interface.
In this example there are two activities - IntentActionDemo.java and IntentA.java that both extend the super class Activity. Do not forget to declare any new activity in the AndroidManifest.xml with permission.
I have introduced buttons in both activities which have a listener to allow an intent to transition from one intent to the other activity and vis-versa.
Simple intent example; Note that optional step 2 was not used in our demo.
Step 1:
Intent i = new Intent(context, NameOfClassToTransitionTo.class)Step 2:(Optional)Intents can take various forms that make it even carry data in key/name pairs ie
i.putExtra("key1", "My first Info") i.putExtra("key2", "My second Info")Step 3:
startActivity(i)IntentActionDemo.java
Code:
package com.marakana.com;
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;
public class IntentActionDemo extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.intentButton);
button.setOnClickListener(this);
}
@Override
public void onClick(View src) {
Intent i = new Intent(this, IntentA.class);
startActivity(i);
}
}
IntentA.java
Code:
package com.marakana.com;
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;
public class IntentA extends Activity implements OnClickListener{
@Override
public void onClick(View src) {
Intent i = new Intent(this, IntentActionDemo.class);
startActivity(i);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intenta);
Button button = (Button) findViewById(R.id.ButtonIntentA);
button.setOnClickListener(this);
}
}
AndroidManifest.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.marakana.com"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".IntentActionDemo"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="IntentA"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
string.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello</string>
<string name="app_name">IntentActionDemo</string>
<string name="IntentA">Click Next intent</string>
<string name="world">World!</string>
<string name="Intent0">Click to Previous Intent</string>
</resources>
main.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="18sp"/>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/intentButton" android:text="@string/IntentA"></Button>
</LinearLayout>
intenta.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TextViewWorld" android:text="@string/world" android:textSize="18sp"></TextView>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ButtonIntentA" android:text="@string/Intent0"></Button>
</LinearLayout>
Screenshot
Sourcehttp://marakana.com/static/tutorials/IntentActionDemo.zip
Edited 3 times. Last edit by Sarun Khumthong on Aug 27, 2010 at 5:56:56 AM (about 11 weeks ago).

Uzair Ali
ABC
Intent i = new Intent(context, NameOfClassToTransitionTo.class);
I get an error when i use the above line:
The constructor Intent(new View.OnClickListener(){}, Class<IntentA>) is undefined ...
How to resolve this issue??
Thanks

Serete Itebete
Uzair,
Make sure that the class (NameOfClassToTransitionTo.class) exists in your project. Try going to project>clean>build
See if that works. Let me know if that works

Rajesh Kumar
Svcet
hi ....i am new to android development. plz send me android examples
Edited 2 times. Last edit by Rajesh Kumar on Aug 11, 2010 at 9:39:22 PM (about 11 weeks ago).

Sarun Khumthong
Mahidol University
You have to add activity to the Manifest too.