------------------------两个activity传递参数------------------------------------
MainAf.class (主Activity)
public class MainAf extends Activity {
SubAf.launch(context,this,line);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Data.log2d("[MainAf] [onActivityResult] requestCode="+requestCode+",resultCode="+resultCode);
if (data != null)
{
int line = data.getIntExtra("result_line",-1);
Data.log2d("[MainAf] [onActivityResult] 1="+line);
if (requestCode==101){
if (resultCode == Activity.RESULT_OK) {
Data.log2d("[MainAf] [onActivityResult] 2");
if (line>=0)
{
if (adapter != null) {
Data.log2d("[MainAf] [onActivityResult] 3");
mListData = Db.db_pt(-1);
adapter.notifyDataSetChanged();
}
}
}else if (resultCode == Activity.RESULT_CANCELED) {
Data.log2d("[MainAf] -RESULT_CANCELED");
}
}
}
}
SubAf.class (子Activity)
public class SubAf extends Activity {
public static void launch(Context c,Activity a,int line) {
Intent intent = new Intent(c, SubAf.class);
intent.putExtra("line", line);
a.startActivityForResult(intent,101);//c.startActivity(intent);
}
private void cancel(){
//Intent intent = new Intent();
//intent.putExtra("result_line", -1);
//setResult(RESULT_CANCELED, intent);
//finish();// System.exit(0);
setResult(RESULT_CANCELED, null);
finish();
}
private void btn_ok(){
Intent intent = new Intent();
intent.putExtra("result_line", currID);
setResult(RESULT_OK, intent);
finish();
}
eg:
public static void launch(Context c,int flag,String str) {Intent intent = new Intent(c, ptm.class);
intent.putExtra("flag", flag);
intent.putExtra("ret", str);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(intent);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_1);
Intent intent=getIntent();
int result=intent.getIntExtra("flag", 0);
String content=intent.getStringExtra("ret");
1、startActivityForResult(new Intent(this,About.class),0);
2、启动一个程序
Intent intent=new Intent();
intent.setComponent(new ComponentName(
"com.android.calendar", "com.android.calendar.LaunchActivity"));
startActivity(intent);
3、
this.getApplicationContext().....
public static void launch(Context c, Playlist playlist){
Intent intent = new Intent(c, PlayerActivity.class);
intent.putExtra("playlist", playlist);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP );
c.startActivity(intent);
}
void get(){
Playlist playlist = null;
// We need to handle Uri
if(getIntent().getData() != null){
// Check if this intent was already once parsed
// we don't need to do that again
if(!getIntent().getBooleanExtra("handled", false)){
mUriLoadingDialog = (LoadingDialog) new UriLoadingDialog(this, R.string.loading, R.string.loading_fail).execute();
}
} else {
playlist = (Playlist) getIntent().getSerializableExtra("playlist");
}
}
------------------------两个activity传递参数------------------------------------