本章学习:
- 活动的创建Activity
- 活动之间的跳转Intent
- Toast 简单提醒的创建
- 向下一个活动传递数据
- 向上一个活动传递数据
Activity的创建,直接通过create Activity 包括空页面,就可以直接使用
intent:意图/目的
通过使用显式intent能够实现activity之间的跳转。
- 建立一个主活动
- 建立一个empty activity
- 在主活动中设置一个跳转button,在onClick()函数中创建一个intent对象,使用startIntent()来执行这个intent,下面是具体的步骤:
toast:Android 的简单提醒方式,通过设置toast来进行提醒
Toast的使用使用putExtra() 和 getExtra() 向下一个活动传递数据
- 在创建intent的基础上,使用
intent.putExtra("extra_data","data");
//第一个参数表示,键的名称,用于getExtra()寻找到对应的Extra;第二个参数表示,该键包含的数据,可以直接用字符串或者参数表示
String data = "this is the data from MainActivity";
intent.putExtra("extra",data);
startActivity(intent);
2.get Extra() 先初始化intent,然后使用getStringExtra()函数来获取传递的数据。
// 注意,这里想要获取MainActivity的参数需要这样创建intent
Intent intent1 = getIntent();
String data2 = intent1.getStringExtra("extra");
Toast.makeText(second.this,data2,Toast.LENGTH_SHORT).show();
Log.d("second",data2);
// 这是创建intent的方法了
Intent intent = new Intent(second.this,MainActivity.class);
startActivity(intent);
}
向上一个活动传递数据
- 在第二个活动中写明需要传递的数据
Intent intent = new Intent();
intent.putExtra("data_return","this is the second activity");
setResult(RESULT_OK,intent);
finish();//销毁本次任务,由于页面之间是叠放的,所以会返回到上一个被覆盖的活动
- 在主活动中写明,接收从下一个活动传递过来的数据,重写onActivityResult()方法
使用intent从下一个数据传输到本活动,由于使用的是startActivityForResult()来启动下一个活动,所以当下一个活动被销毁之后,会回调到本活动的
// OnActivityResult(),所以需要我们重写本方法
Intent intent = new Intent(MainActivity.this,second.class);
startActivityForResult(intent,1);
重写方法
@Override
protected void onActivityResult(int requestCode,int resultCode ,Intent data){
switch (requestCode){
case 1:
if (resultCode == RESULT_OK){
String return_data = data.getStringExtra("data_return");
Toast.makeText(MainActivity.this,return_data,Toast.LENGTH_SHORT).show();
Log.d("MainActivity",return_data);//第一个参数一般传入当前的类名
}
}
}
网友评论