zoukankan      html  css  js  c++  java
  • Intent对象

    Android四核心activity,service,broadcast receiver和content provider。除了content provider之外,彼此的通信都要使用Intent对象来进行。

    Intent对象描述了要执行的结果是什么,基本内容可以氛围:componentName组件名称,action动作名称,data数据,category类别,extra返家数据和flag标志位6个部分。

    所谓的显示intent就是我们常用的Intent.setclass(xxx.this,xxx.class),也就是指定componentName组件名称。

    相对的隐式调用就是没有明确指出目标组件名称的情况。

    指定action的动作名称

                            Uri uri = Uri.parse("http://www.baidu.com");
                            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                            MainActivity.this.startActivity(intent);
    

    传递Extra字符串,使用startActivityForResult

    重写方法:

       @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == 100) {
                Toast.makeText(MainActivity.this, data.getStringExtra("data"), Toast.LENGTH_SHORT).show();
            }
            super.onActivityResult(requestCode, resultCode, data);
        }
    

     启动跳转

            findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(MainActivity.this, Secend.class);
                    startActivityForResult(intent, 100);
                }
            });
    

    Secend.class

      findViewById(R.id.secend_bt).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String str = "secend activity msg";
                    Intent intent = new Intent();
                    intent.putExtra("data", str);
                    Secend.this.setResult(RESULT_OK, intent);
                    Secend.this.finish();
                }
            });
    

    startActivityForResult方法,与startActivity类似。

    不同点为:startActivity仅仅跳转目标界面,而startActivityForResult跳转的界面,如果调用了finish(),还会自动跳转回来。

  • 相关阅读:
    自定义序列化类注意事项
    HashMap中的modCount
    transient
    30张图带你彻底理解红黑树(转)
    hashcode和hash算法
    线程池
    VS2015 NuGet错误:远程证书无效
    解决前台JS弹框Alert点击确定页面会刷新
    Regex中Replace方法的简单实用
    .ashx 一般处理程序
  • 原文地址:https://www.cnblogs.com/lyxin/p/5799809.html
Copyright © 2011-2022 走看看