位置: 编程技术 - 正文
推荐整理分享activity通信(activity与fragment的通信),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:activity context,android activity与fragment通信,activity通信产生的问题,activity fragment通信,activity间通信,activity fragment通信,activity通信产生的问题,activity通信产生的问题,内容如对您有帮助,希望把文章链接给更多的朋友!
上节说到,Activity是什么;这次来了解了解Activity通信相关内容。
都知道,人与人交流产生许多不可预知的美。因为交流,信息得意传递;因为交流,任务得以完成;因为交流,生活才有滋有味。
废话少说,进入正题。
1.What is Intent?
在同一个应用程序中往往会使用Intent对象来指定一个Activity,intent 的汉语解释为意图、目的,为何是它,我也不知,但总要有一个表示,大家记住就好了。这个Intent在指定一个Activity后可以通过startActivity或者startActivityForResult来启动这个Activity。除此之外,它还可以调用其它应用程序中的Activity。功能不得不说很强大。
2.Can you showan example?
$1封装一个Activity
Intent myIntent= new Intent(this,YourClass.class);
$2传
myIntent.putExtra(“name”,”jack”);
myIntent.putExtra(“no”,””);
myIntent.putExtra(“data”,jsonObject.toString);
$3启动
startActivity(myIntent);
$4新Activity怎样获取
Buddle bundle =getIntent.getExtras();
StringBuffer s=new StringBuffer();
s.append(bundle.getString(“name”));
s.append(bundle.getString(“no”));
s.append (bundle.getString(“data”))
3.信息传递是双向的,所以有去有回,那信息怎么回呢?
$1封装Activity方式与上面一样
$2启动
startActivityForResult(myIntent,R.layout.deal); //R.layout.deal为请求代码
$3接收
当关闭YourClass后,系统会调用Activity类的onActivityResult事件来获得deal的返回。所以,需要在Main类中覆盖onActivityResult方法来获得deal的返回。
@override
protected voidonActivityRequest(int requestCode, int resultCode, Intent data){
Switch(requestCode){
case R.layout.deal:
if(resultCode==){
doSomething();
}else if(resultCode==){
doSomething();
}
}
}
PS:有人可能要问resultCode从何而来?
这是startActivityForResult方法返回数据的机制决定的,当系统关闭当前Activity时会将Activity里面的(比如说文本框的)保存在Intent对象中
getIntent().putExtra(“something”,someValue);
setResult(,getIntent());
从这可以看到返回是带有结果的,那可想而知返回就不会带结果了
SetResult();
至此Activity间的通信基本了解清楚。
4.前面也说过Intent也可以调用其他应用程序中的Activity,那这里也举个例子吧
直接拨号的例子
Intent call =new Intent(Intent.ACTION_CALL,URI.parse(“tel:”));
startActivity(call);
当然Intent还有其他许多功能,欲知详情,建议各位查看android此类相关文档,这是最直接的学习方法,当然也枯燥,但收获良多,不过鉴于google的访问问题,大家还是翻墙吧。
下次将展开android消息提示的相关用法
android轻量级开源缓存框架——ASimpleCache(ACache)源码分析 转载请注明出处:
MAC中设置android adb环境变量 1.找到androidsdk的本地路径,adb命令在platform-tool下面,记为XXXX我的路径是(/Applications/eclipse/android-sdk-mac_x/platform-tools)2.打开终端输入touch.bash_profilevi.bash_pro
Activity的生命周期和创建按方式 activity生命周期分三个阶段:1,oncreate:activity第一次创建的时候调用ondestroy:销毁时调用2,onstart:可见时调用onstop:不可见时调用3,onResume:有按钮可以被点
友情链接: 武汉网站建设