美文网首页
Android 学习一Activity

Android 学习一Activity

作者: 霖风_ | 来源:发表于2018-12-17 11:47 被阅读0次

本章学习:

  1. 活动的创建Activity
  2. 活动之间的跳转Intent
  3. Toast 简单提醒的创建
  4. 向下一个活动传递数据
  5. 向上一个活动传递数据

Activity的创建,直接通过create Activity 包括空页面,就可以直接使用

intent:意图/目的

通过使用显式intent能够实现activity之间的跳转。

  1. 建立一个主活动
  2. 建立一个empty activity
  3. 在主活动中设置一个跳转button,在onClick()函数中创建一个intent对象,使用startIntent()来执行这个intent,下面是具体的步骤:
显式intent的初始化

toast:Android 的简单提醒方式,通过设置toast来进行提醒

Toast的使用

使用putExtra() 和 getExtra() 向下一个活动传递数据

  1. 在创建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);
            }

向上一个活动传递数据

  1. 在第二个活动中写明需要传递的数据
 Intent intent = new Intent();
                intent.putExtra("data_return","this is the second activity");
                setResult(RESULT_OK,intent);
                finish();//销毁本次任务,由于页面之间是叠放的,所以会返回到上一个被覆盖的活动
  1. 在主活动中写明,接收从下一个活动传递过来的数据,重写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);//第一个参数一般传入当前的类名

              }
      }

  }

相关文章

网友评论

      本文标题:Android 学习一Activity

      本文链接:https://www.haomeiwen.com/subject/zonxkqtx.html