zoukankan      html  css  js  c++  java
  • Intent意图

    1、显式Intent

     button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);  
                    startActivity(intent);
                }
            });

    2、隐式Intent

      指定一系列的action和category.每个intent中只能指定一个action,可以指定多个category。

      在AndroidManifest中添加

            <activity android:name=".SecondActivity" >
                <intent-filter>
                    <action android:name="com.example.activitytest.ACTION_START"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
            </activity>

      调用addCategory()添加category。

      隐式intent其他用法:

      解析Uri

     button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse("http://www.baidu.com"));
                    startActivity(intent);
                }
            });

      <data>标签:用于指定当前活动相应说明类型的数据。

    3、传递数据

    (1)向下一个活动传递数据

      FirstActivity

     public void onClick(View view) {
                    String data = "Hello World";
                    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
                    intent.putExtra("extra_data",data);
                    startActivity(intent);
                }

      secondActivity

         Intent intent = getIntent();    //获得启动secondActivity的intent
            String data = intent.getStringExtra("extra_data");
            Log.d("SecondActivity",data);

    (2)返回数据给上一个活动

      FirstActivity通过startActivityForResult()方法启动SecondActivity,在SecondActivity被销毁之后会回调上一个活动的OnActivityResult()方法,所以需要在FirstActivity中重写此方法。

      如果是通过back键返回FirstActivity,则重写onBackPressed()方法取得返回的数据。

      

      

  • 相关阅读:
    MySql模糊查询like通配符使用详细介绍
    使用powershell批量添加Qt的文件(生成pro)
    宏定义的教训
    使用powershell批量添加Keil和IAR的头文件路径
    python和数据科学(Anaconda)
    CDCE913产生任意频率
    QT中检索设定目录下所有指定文件的方法
    QT中将ASCII转换为对应数值的方法
    STM8如何使用自带的bootloader
    QT中使用函数指针
  • 原文地址:https://www.cnblogs.com/yl-saber/p/6043517.html
Copyright © 2011-2022 走看看