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()方法取得返回的数据。

      

      

  • 相关阅读:
    myeclipse包的层数和package的层数不一致
    myeclipse提示:Syntax error on tokens, delete these tokens怎么解决
    智能指针 shared_ptr
    一次读入全部文件到内存中
    条件变量 condition_variable wait_until
    条件变量 condition_variable wait_for
    条件变量 condition_variable wait
    ffmpeg 交叉编译 版本4.0.4
    curl 交叉编译 支持http2和openssl
    nghttp2 交叉编译
  • 原文地址:https://www.cnblogs.com/yl-saber/p/6043517.html
Copyright © 2011-2022 走看看