Activity启动之IntentFilter的匹配规则
[TOC]
文章参考:https://weread.qq.com/web/reader/9d932320716a2b159d9b881k45c322601945c48cce2e120
Activity的启动我们知道,启动Activity分为两种,显式调用和隐式调用。二者的区别这里就不多说了,显式调用需要明确地指定被启动对象的组件信息,包括包名和类名,而隐式调用则不需要明确指定组件信息。原则上一个Intent不应该既是显式调用又是隐式调用,如果二者共存的话以显式调用为主。
显式调用很简单,这里主要介绍一下隐式调用。
隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果不匹配将无法启动目标Activity。IntentFilter中的过滤信息有action、category、data,下面是一个过滤规则的示例:
为了匹配过滤列表,需要同时匹配过滤列表中的action、category、data信息,否则匹配失败。一个过滤列表中的action、category和data可以有多个,所有的action、category、data分别构成不同类别,同一类别 ...
Activity之startActivityForResult的使用详解
[TOC]
概述如果我们想进行页面之间的数据传递,我们需要怎么去做呢?页面之间的数据传输这块是个可以总结的知识点。
一般情况下页面之间的数据传输可以有以下几种思路:1、通过startActivityForResult方法进行数据传输;2、通过广播的形式传输;3、可以通过接口的调用来传输数据;4、通过存储介质来分享数据;5、通过EventBus进行页面之间的传输;
第一种,就是Activity默认为我们提供的方式,下面我们来看看startActivityForResult的用法。
一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Activity处理。这种带数据的意图跳转需要使用activity的onActivityResult()方法。
这里,我们要用到几个方法,可以来看看
12345678910111213141516// 参数(Intent对象,)// 第一个参数:一个Intent对象,用于携带将跳转至下一个界面中使用的数据,使用putExtr ...
Android中的LayoutInflater基础学习
[TOC]
概述大家对LayoutInflater一定不陌生,它主要用于加载布局,在Fragment的onCreateView方法、ListView Adapter的getView方法等许多地方都可以见到它的身影。今天主要聊聊LayoutInflater的用法以及加载布局的工作原理。
在 Android UI 开发中,经常需要用到 LayoutInflater 类,它的基本作用是将 xml 布局文件解析成 View / View 树。除了基本的布局解析功能,LayoutInflater 还可以用于实现 动态换肤、视图转换、属性转换 等需求。
LayoutInflater是什么?LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,我们可以称之为布局加载器。
获取LayoutInflater首先要注意LayoutInflater本身是一个抽象类,我们不可以直接通过new的方式去获得它的实例,通常有下面五种方式:
12345678910111213141516171819202122232425262728293031323334 ...