一, 概述:Activity作为公共类,继承自ContextThemeWrapper.
Activity专注于用户所要做的事情。几乎所有的Activity都是和用户进行交互的。因此,Activity通过使用setContentView(view)来展示界面元素。尽管Activities通常是全屏显示窗口的,但是你可以指定下面两种方法的一种来进行显示:
浮动窗体:android:theme="?android:attr/windowIsFloating"嵌入到其他的Activity中。
二,startActivity(Intent)和startActivityForResult(Intent,int)的区别使用:
startActivity(Intent) 用来启动一个新的 activity ,这个 activity 将被放置在 activity 栈的栈顶。这个方法只有一个参数 Intent ,这个参数描述了将被执行的 activity有时候你希望在一个 activity 结束时得到它返回的结果。举个例子,你可能启动一个 activity 来让用户从通讯簿中选择一个人;当它结束的时候将会返回这个所选择的人。为了得到这个返回的信息,你可以使用 startSubActivity(Intent, int) 这个方法来启动新的 activity ,第二个整形参数将会作为这次调用的识别标记。这个 activity 返回的结果你可以通过 onActivityResult(int, int, String, Bundle) 方法来获得,此方法的第一个参数就是之前调用所使用的识别标记。当 activity 退出的时候,它可以调用 setResult(int) 来将数据返回给他的父进程。这个方法必须提供一个结果码,这个结果码可以使标准结果 RESULT_CANCELED, RESULT_OK ,也可以是其他任何从 RESULT_FIRST_USER 开始的自定义值。此外,它还可以返回一段字符串(经常是一段数据的 URL 地址),一个包含它所有希望值的 Bundle 。这些信息都会在父 activity 的回调函数 Activity.onActivityResult() 中出现,并连同最初提供的识别标记一起(此处有些拗口,意思其实就是子activity 返回的内容、返回码、识别标记都将作为参数,按照不同的返回情况来调用父activity 的Activity.onActivityResult() 方法,以实现出现各种返回时父activity 做出响应的处理)。
三,实例
MainActivity:
Intent intent = new Intent(MainActivity.this, Bookmarks.class); //必须在这个地方定义 不能在上面定义
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent,0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{ //跳转前 A 设定值 返回值 传递的值
super.onActivityResult(requestCode, resultCode, data);
if(data != null)
{
String str=data.getStringExtra("sec_bookmark_url").toString();
mWebView.loadUrl(str)
}
else
Toast.makeText(MainActivity.this,"结果********$$$", Toast.LENGTH_SHORT).show();
}
Bookmark.java
String aaa=(String) users.get(arg2).get("bookmark_url"); //获取
Intent intent = new Intent();
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//刷新
intent.putExtra("sec_bookmark_url", aaa);//加上自定义的参数
setResult(RESULT_OK, intent);
Bookmarks.this.finish();
思考中……