| 
	搜索标签:
	Android Activity  
	 | 
   
  
	| Android多个Activity  | 
   
  
	| [阅读次数:947次]  [发布时间:2013年5月30日] | 
   
  
	| 
	
	 使用多个Activity首先在AndroidManifest.xml文件中声明: 
- <activity android:name="com.yaku.B"/> 
   <activity android:name="com.yaku.B"/> 
如有A和B两个Activity,由A打开B,并传递参数给B: 
A Activity 
//打开 B Activity
Intent intent = new Intent(A.this, B.class);//为Intent设置要激活的组件
/*intent.putExtra("name", "小九九");
intent.putExtra("age", 26);*/
Bundle bundle = new Bundle();
bundle.putString("name", "小九九");
bundle.putInt("age", 26);
intent.putExtras(bundle);
//写法一 intent.setClass(A.this, B.class);//设置要激活的组件
//写法二 intent.setComponent(new ComponentName(A.this, B.class));//设置要激活的组件
startActivity(intent);
 
B Activity 得到参数: 
Intent intent = this.getIntent();//得到激活它的Intent
String name = intent.getStringExtra("name");
int age = intent.getExtras().getInt("age");//第二种写法 
B 处理完后要返回结果给A 则不能使用startActivity(intent); 来启动B 
而是startActivityForResult(intent, 100); 第二个参数为请求码。 
同时A要重写onActivityResult 方法,该方法为系统自动调用。如: 
A Activity: 
public void onCreate(Bundle savedInstanceState) {
	Intent intent = new Intent(A.this, B.class);//为Intent设置要激活的组件
	/*intent.putExtra("name", "小九九");
	intent.putExtra("age", 26);*/
	Bundle bundle = new Bundle();
	bundle.putString("name", "小九九");
	bundle.putInt("age", 26);
	intent.putExtras(bundle);
	startActivityForResult(intent, 100);//第二个参数为设置的请求码
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	Toast.makeText(this, data.getStringExtra("result"), 1).show();//得到返回结果
	super.onActivityResult(requestCode, resultCode, data);
} 
B Activity: 
- Intent intent = new Intent(); 
 
- intent.putExtra("result", "这是处理结果"); 
 
- setResult(20, intent);
 
- finish(); 
   
	
  
	
	
  
	
	本页地址:
	[复制地址]
	
	
	 该页内容非本站原创 收藏自:http://yaku2688.iteye.com/blog/1189186
		 | 
   
  
    返回顶部   | 
   
 
 | 
               
              
              
                | 
 | 
               
			  
            |