1.Demo说明与演示
该Demo演示了如何使用startActivityForResult从被启动的Activity中得到一个返回结果,主要学到的如下:
startActivityForResult的使用
Request Code与Result Code的作用
演示如下:
2.视频讲解
http://www.eyeandroid.com/thread-10471-1-1.html
3.Demo分析
startActivity可以启动一个新的Activity,这个新的Activity与启动它Activity之间相对独立,不会返回给调用它的Activity如何结果。在写应用时,有时需要从其它Activity返回结果。Receive Result显示了这个用法。
startActivityForResult 使用方法和startActivity类似,重要的是startActivityForResult可以从被调用的Activity返回结果。GET_CODE为Request code,当子Activity返回结果时可以根据这个Request Code来处理Activity返回的结果。
// Definition of the one requestCode we use for receiving resuls.
static final private int GET_CODE = 0;
private OnClickListener mGetListener = new OnClickListener() {
public void onClick(View v) {
// Start the activity whose result we want to retrieve. The
// result will come back with request code GET_CODE.
Intent intent = new Intent(ReceiveResult.this, SendResult.class);
startActivityForResult(intent, GET_CODE);
}
};
当子Activity结束时,调用setResult 来设置返回结果。Receive Result例子中涉及了两个Activity, ReceiveResult为父Activity,SendResult为子Activity返回用户选项,返回的结果在ReceiveResult中显示。
SendResult 返回结果的代码如下:
private OnClickListener mCorkyListener = new OnClickListener()
{
public void onClick(View v)
{
// To send a result, simply call setResult() before your
// activity is finished.
setResult(RESULT_OK, (new Intent()).setAction("Corky!"));
finish();
}
};
private OnClickListener mVioletListener = new OnClickListener()
{
public void onClick(View v)
{
// To send a result, simply call setResult() before your
// activity is finished.
setResult(RESULT_OK, (new Intent()).setAction("Violet!"));
finish();
}
};
当从子Activity返回结果后,父Activity通过定义onActivityResult来处理子Activity返回的结果。
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
// You can use the requestCode to select between multiple child
// activities you may have started. Here there is only one thing
// we launch.
if (requestCode == GET_CODE) {
// We will be adding to our text.
...
}
}
onActivityResult中的三个参数:
requestCode: 就是在调用startActivityForResult 时的request code,可以使用request code 来区分多个子Acitivity。
resultCode:为子Activity的返回值,一般为RESULT_OK (正常),RESULT_CANCELLED(取消)。
Data: Activity的返回结果。例子中为用户选择的Corky或是Violet。
4.这个Demo我们学会了
1.startActivityForResult用法详解
http://www.eyeandroid.com/thread-10257-1-1.html
2. Android TextView.BufferType实例说明
http://www.eyeandroid.com/thread-9134-1-1.html
- 大小: 42.9 KB
分享到:
相关推荐
"android4.4samples"是一个包含了Android 4.4(KitKat)SDK中的示例代码集合,它为开发者提供了一个深入学习Android API的平台。这些示例代码涵盖了各种功能和组件的使用方法,帮助开发者更好地理解和应用Android...
vuforia-samples-advanced-android-ios-unity-4-2-3.zip官网下载太慢了,放在网盘方便大家下载
andorid L\adt-bundle-windows-x86_64-20140624\sdk\samples\android-L\legacy\ApiDemos 最新的androidl 的apidemos
vuforia-samples-core-android-ios-unity-4-2-3.zip官网400M下载太慢了,传到百度云盘,方便大家下载,一分意思一下!
总结,ArcGIS Runtime SDK for Android为开发者提供了构建强大GIS应用的途径,"arcgis-runtime-samples-android-master"则是学习和掌握这个工具的宝贵资源。通过深入研究和实践,开发者可以创建出具有专业GIS功能的...
这个“arcgis-runtime-samples-android-100.4-master.zip”压缩包包含了一系列100.5版本的示例代码,旨在帮助开发者快速理解和掌握ArcGIS Runtime for Android的开发技术。 1. **ArcGIS Runtime SDK介绍** ArcGIS ...
这个"vuforia-samples-core-android-7-2-21.zip"压缩包包含了Vuforia的最新版本7.2.21的Android示例项目,旨在帮助开发者理解和实践Vuforia的各项功能。以下是对这些关键知识点的详细介绍: 1. **Vuforia SDK**: ...
使用Unity2019.4打包的Vuforia Core Samples.apk ; vuforia-samples-unity-9-8-11.apk
在"Azure-Samples-azure-sdk-for-go-samples-master"目录下,你可以找到多个子目录,每个子目录代表一个特定的示例场景。这些示例涵盖了Azure服务的广泛应用,包括但不限于: 1. **虚拟机管理**:如何创建、启动、...
这个“vuforia-samples-advanced-android-7-1-34”压缩包包含了多个用于Android平台的高级Unity示例项目,帮助开发者深入了解Vuforia的功能和用法。 首先,我们来看看每个子文件的含义: 1. **VideoPlayback-7-1-...
"vuforia-samples-core-android-8-6-10_0.zip"是一个包含Vuforia SDK 8.6.10版本的核心Android示例项目的压缩包。这个压缩包特别适用于开发者,尤其是那些在2020年2月期间遇到官方下载困难的情况,因为当时可能由于...
原始资源太大,381M,放在网盘里供下载。官网下载太慢,只有十几KB的速度
最后,Android 23的samples还包括了如何利用最新的API与设备硬件交互,如蓝牙、GPS、传感器等。这可以帮助开发者更好地利用手机的各种功能,开发出更具创新性的应用。 总的来说,“android-samples.zip”这个压缩包...
标题中的“Android 自带Samples”指的是Android SDK中包含的一系列示例项目,这些项目展示了如何使用Android API来实现特定功能或交互。 描述中提到的"ApiDemos"是Android Samples中最为经典的一个,它几乎包含了...
spring-android-samples-master
"spring-android-samples-master"目录下的源代码包含了一系列示例应用,覆盖了上述所有功能点。通过这些案例,开发者可以了解如何在实际项目中应用Spring for Android,例如创建一个HTTP客户端,处理不同类型的HTTP...
《MiniGUI开发示例库详解——mg-samples-1.6.0》 MiniGUI,全称微型图形用户界面,是一种轻量级的图形系统,主要用于嵌入式设备和资源有限的计算机上,提供图形用户界面的支持。它以其小巧、高效、易用的特点在...
Android官方提供的`architecture-samples-todo-mvp`示例项目旨在帮助开发者理解和实践MVP架构。 **1. MVP架构的组成部分** - **Model(模型层)**:模型层主要负责与数据相关的操作,包括数据的获取、存储和处理。...