美文网首页
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