Starting an Activity
You can start another activity by calling startActivity()
The intent specifies either the exact activity you want to start or describes the type of action you want to perform
An intent can also carry small amounts of data to be used by the activity that is started.
package com.cmge;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
/**
* @desc 一个简单的Activity
* @author ljt
* @time 2014年8月24日 下午10:42:19
*/
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) this.findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,NextActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
package com.cmge;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class NextActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
<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" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击" /> </RelativeLayout>
<?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="TextView" /> </LinearLayout>
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.cmge.MainActivity" 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="com.cmge.NextActivity"> </activity> </application>
Intent intent = new Intent(MainActivity.this,NextActivity.class);
intent.putExtra("name", "cmge");
intent.putExtra("age", 111);
Bundle bundle = new Bundle();
bundle.putString("name1", "cmge");
bundle.putInt("age1", 111);
intent.putExtra("list",bundle);
startActivity(intent);
Intent intent = getIntent();
System.out.println("=="+intent.getStringExtra("name"));
System.out.println("=="+intent.getIntExtra("age", 0));
Bundle bundle = intent.getBundleExtra("list");
System.out.println("=="+bundle.get("name1"));
System.out.println("=="+bundle.get("age1"));
08-24 23:35:28.365: I/System.out(5382): ==cmge
08-24 23:35:28.365: I/System.out(5382): ==111
08-24 23:35:28.365: I/System.out(5382): ==cmge
08-24 23:35:28.365: I/System.out(5382): ==111
Intent intent = getIntent();
// System.out.println("=="+intent.getStringExtra("name"));
// System.out.println("=="+intent.getIntExtra("age", 0));
Log.i(TAG, "=="+intent.getStringExtra("name"));
Log.i(TAG, "=="+intent.getIntExtra("age"));
Bundle bundle = intent.getBundleExtra("list");
// System.out.println("=="+bundle.get("name1"));
// System.out.println("=="+bundle.get("age1"));
Log.i(TAG, "=="+bundle.get("name1"));
Log.i(TAG, "=="+bundle.get("age1"));
08-24 23:39:02.400: I/NextActivity(5567): ==cmge
08-24 23:39:02.400: I/NextActivity(5567): ==null
08-24 23:39:02.400: I/NextActivity(5567): ==cmge
08-24 23:39:02.400: I/NextActivity(5567): ==111