第一种方式:普通跳转方式
在本Activity点击事件中
Intent intent = new Intent(本Activity.this, 要跳转的目标Activity.class);
startActivity(intent);
第二种方式:携带数据跳转方式
传递参数的Activity点击事件中
Intent intent = new Intent(本Activity.this,要跳转的目标Activity.class);
//使用Bundle携带数据
Bundle bundle = new Bundle();
//传递name参数为“android”
bundle.putString("name","android");
intent.putExtras(bundle);
startActivity(intent);
接收参数的Activity中oncreat
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_content);
//跳转的目标页面接收数据
Bundle bundle = this.getIntent().getExtras();
//接收数据内容
String name = bundle.getString("name");
}
第三种跳转方式:携带集合跳转方式
本Activity中携带集合跳转的代码:
Intent intent = new Intent(本Activity.this, 要跳转的目标Activity.class);
intent.putExtra("list", (Serializable) list);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
目标Activity中接收集合的代码:
yundanList = (List<entity>) getIntent().getSerializableExtra("list");
第四种跳转方式:返回上一页面中获取数据的方式
本Activity中返回按钮的点击事件:
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.im_return://返回
setResult(1);
finish();
break;
default:
break;
}
}
};
要返回的上一个Activity中的回调函数代码:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//重新获取数据
if(resultCode==1){//如果是返回的标识
if(messgelist.size()==0){
Countents countents = new Countents(MainActivity.this);
countents.SQLitedate();
for(int i = 0; i < basicDateEntity.getListstring().size();i++){
if(basicDateEntity.getListstring().size() != 0){
messgelist.add(basicDateEntity.getListstring().get(i));
}
}
}else{
tv_result.setText("今日抽签还没有完毕");
tv_result.setTextColor(Color.parseColor("#FF3366"));
}
}
};