Android 组件系列之Activity的传值和回传值Word文件下载.docx
- 文档编号:15801353
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:87.29KB
Android 组件系列之Activity的传值和回传值Word文件下载.docx
《Android 组件系列之Activity的传值和回传值Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android 组件系列之Activity的传值和回传值Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
元素下指定一个<
intent-filter>
对象,然后其子元素声明一个<
action>
元素,这样我们可以将这个action动作绑定到了这个Activity上,即Android操作系统会去找与intent对象中指定的action名字的<
对象,然后执行相应的动作,例如:
<
activity
android:
name="
com.xiaoluo.android_intent.SecondActivity"
label="
SecondActivity"
>
<
actionandroid:
/>
categoryandroid:
android.intent.category.DEFAULT"
/intent-filter>
/activity>
这样我们的Intent对象,在启动时,就会找到名字为
com.xiaoluo.android_intent.second的<
对象,来启动我们的SecondActivity。
我们来看看如何在Activity对象中进行值的传递,也是通过Intent对象的各种putExtra方法来进行传递:
MainActivity:
publicclassMainActivityextendsActivity
{
privateButtonbutton;
@Override
protectedvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(newButtonListener());
}
classButtonListenerimplementsOnClickListener
publicvoidonClick(Viewv)
//Intentintent=newIntent();
//intent.setClass(MainActivity.this,SecondActivity.class);
Intentintent=newIntent();
intent.setAction("
intent.putExtra("
com.xiaoluo.android_intent.age"
20);
//第一个参数指定name,android规范是以包名+变量名来命名,后面是各种类型的数据类型
com.xiaoluo.android_intent.name"
"
xiaoluo"
Bundlebundle=newBundle();
// Bundle的底层是一个HashMap<
String,Object
bundle.putString("
hello"
world"
bundle"
bundle);
startActivity(intent);
publicbooleanonCreateOptionsMenu(Menumenu)
//Inflatethemenu;
thisaddsitemstotheactionbarifitispresent.
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
SecondActivity:
publicclassSecondActivityextendsActivity
privateTextViewtextView;
privatefinalStringTAG="
;
setContentView(R.layout.second);
textView=(TextView)findViewById(R.id.textView);
//得到跳转到该Activity的Intent对象
Intentintent=getIntent();
intage=intent.getIntExtra("
10);
Stringname=intent.getStringExtra("
Bundlebundle=intent.getBundleExtra("
Stringworld=bundle.getString("
Log.i(TAG,age+"
+name+"
+world);
textView.setText(name+"
:
"
+age+"
System.out.println(intent);
在第二个Activity对象中,可以通过getIntent()方法来得到跳转到这个Activity的Intent对象,然后通过Intent对象的各种getXXExtra方法来得到我们的传过来的值。
AndroidManifest.xml文件如下:
<
?
xmlversion="
1.0"
encoding="
utf-8"
manifestxmlns:
android="
package="
com.xiaoluo.android_intent"
versionCode="
1"
versionName="
>
uses-sdk
minSdkVersion="
8"
targetSdkVersion="
18"
/>
application
allowBackup="
true"
icon="
@drawable/ic_launcher"
@string/app_name"
theme="
@style/AppTheme"
activity
com.xiaoluo.android_intent.MainActivity"
android.intent.action.MAIN"
android.intent.category.LAUNCHER"
/application>
/manifest>
这样我们就可以实现Activity直接的值的传递。
二、通过startActivityForResult方法来得到Activity的回传值
在一些情况下,我们通过Aactivity跳转到Bactivity上,这时希望Aactivtiy能从Bactivity上得到一些返回值,这个时候我们就不能使用startActivity方法了,而是使用startActivityForResult方法来完成我们的操作。
例如,我们希望完成下面一个功能,在MainActivity上,写上一个算术表达式,然后跳转到到第二个SecondActivity上,在这个Activity上将第一个Activity的表达式显示出来,然后我们可以输入我们的算术表达式结果,然后点击按钮,将这个结果值又返回给我们的MainActivity,并将结果填充到算术表达式中,具体看如下代码:
activity_main.xml:
RelativeLayoutxmlns:
xmlns:
tools="
layout_width="
match_parent"
layout_height="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 组件系列之Activity的传值和回传值 组件 系列 Activity 回传值
![提示](https://static.bdocx.com/images/bang_tan.gif)