首页 > 学院 > 开发设计 > 正文

(一)基本知识

2019-11-09 18:08:01
字体:
来源:转载
供稿:网友

1.启动模式

**standard**:默认的启动模式,每次都会创建一个新的实例 **singleTop**:活动在栈顶时,不会再创建实例 **singTask**:首先会在返回栈中检查是否存在该活动的实例,已存在直接使用该实例,并把在这之上的活动统统出栈 **singleInstance**:应用场景:假设我们的程序中有一个活动是允许其他程序调用的,如果我们想实现其他程序和我们的程序可以共享这个活动的实例

2.页面之间的数据传递

MainActivity: @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button bt_main_go_second = (Button) findViewById(R.id.main_go_second_bt); bt_main_go_second.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("go_data", "yes"); startActivityForResult(intent, 1); Log.d(TAG, "go second..."); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); Log.d(TAG, " mainOnActivityResult---------------"); switch (requestCode) { case 1: if(resultCode==RESULT_OK){ String return_data = intent.getStringExtra("return_data"); Log.d(TAG, "return_data:"+return_data); } } }
SecondActivity: @Override public void onBackPressed() { Log.d(MainActivity.TAG, "SecondOnBackPressed..."); /**回传数据******/ Intent return_data_intent = new Intent(); String go_data = getIntent().getStringExtra("go_data"); if(go_data.equals("yes")){ return_data_intent.putExtra("return_data", "gay gay"); }else{ return_data_intent.putExtra("return_data", "gai gai"); } //没有意图,只发送数据 setResult(RESULT_OK,return_data_intent); //必須finish()了當前页面才会回传数据 finish(); }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表