zoukankan      html  css  js  c++  java
  • (三)使用Intent在活动中穿梭:显式和隐式Intent

    一、显式Intent

     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_layout);
    
            Button btn=(Button)findViewById(R.id.button1);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent intent=new Intent(MainActivity.this,Main2LayoutActivity.class);
                    startActivity(intent);
    
                }
            });
        }
    •  实现的效果是: 点击id为button1的按钮就会从MainActivity 这个活动跳转到Main2LayoutActivity这个活动,即从MainActivity这个活动的布局跳转到Main2LayoutActivity这个活动对应的布局。

    二、隐式Intent

       @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_layout);
    
            Button btn=(Button)findViewById(R.id.button1);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent intent=new Intent("com.example.myAction");
                    intent.addCategory("android.intent.category.DEFAULT");
                    startActivity(intent);
    
                }
            });
        }
    • 与显式区别在于,Intent的构造函数不再直接定义从哪个活动跳转到哪个活动,而是匹配哪个活动的<action>和<category>符合Intent中指定的action和category。所以
    • 要想实现跳转,则必须定义一个符合Intent中指定的action和category的活动。如下:

    AndroidManifest.xml:

       <activity android:name=".Main2LayoutActivity">
                <intent-filter>
                    <action android:name="com.example.myAction"></action>
                    <category android:name="android.intent.category.DEFAULT"></category>
                </intent-filter>
            </activity>

    效果:

    点击按钮:

    •  intent.addCategory("android.intent.category.DEFAULT");可以省略,因为intent会默认自动带上这个category。
    •  一个Intent只能指定一个Action,但是能指定多个category。

    三、更多隐式Intent的使用

  • 相关阅读:
    【css】容器撑满浏览器--- height:100%
    【实践】js六道有趣的题
    【Canvas】树冠
    asp.net上传Excel文件到服务端进行读取
    HttpContext.Current多线程调用
    abstract修饰符,具体类与抽象类的区别
    如何快速恢复MyEclipse的默认主题
    日历源代码
    for语句应用:乘法表
    Java的优先级
  • 原文地址:https://www.cnblogs.com/shyroke/p/7462416.html
Copyright © 2011-2022 走看看