`
苹果超人
  • 浏览: 200875 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

startActivityForResult Demo

阅读更多
  startActivityForResult(Itent intent, int requestCode)用来唤起一个Activity。利用这个方法,前一个Activity1便会有一个等待次Activity2的返回,返回时响应onActivityResult(int requestCode, int resultCode, Intent data)方法。
  Demo如下:
  第一个activity
 
package com.kevin.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Main extends Activity implements OnClickListener{
	private Button btn_transfer;
	private EditText et_name;
	private int requestCode = 1;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn_transfer = (Button) findViewById(R.id.button1);
        et_name = (EditText) findViewById(R.id.editText1);
        btn_transfer.setOnClickListener(this);
    }

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		System.out.println("requestCode--->" + requestCode);
		// resultCode是第二个Activity返回过来的值
		switch (resultCode) {
		case RESULT_OK:
			// 获取Bundle对象
			Bundle returnedBundle = data.getExtras();
			String returnedName = returnedBundle.getString("name");
			et_name.setText(returnedName);
			break;

		default:
			break;
		}
	}

	@Override
	public void onClick(View v) {
		// 取得et_name的值
		String name = et_name.getText().toString();
		Bundle bundle = new Bundle();
		bundle.putString("name", name);
		Intent intent = new Intent();
		intent.setClass(this, Activity_1.class);
		intent.putExtras(bundle);		
		// 启动Activity_1
		startActivityForResult(intent, requestCode);
	}
    
}

  跳转后的activity
package com.kevin.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Activity_1 extends Activity implements OnClickListener{
	private Button btn_return;
	private TextView textView;
	private Intent intent;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity1);
        intent = this.getIntent();
        Bundle bundle = intent.getExtras();
        String name = bundle.getString("name");
        System.out.println("name --- >" + name);
        textView = (TextView) findViewById(R.id.tv_receivedname);

        textView.setText("传过来的name值为: " + name);
        
        btn_return = (Button) findViewById(R.id.btn_return);
        btn_return.setOnClickListener(this);
    }
	@Override
	public void onClick(View v) {
		// 点击返回按钮后,设置返回值
		setResult(RESULT_OK, intent);
		this.finish();
	}
}
分享到:
评论

相关推荐

    startActivityForResult_demo

    在Android应用开发中,`startActivityForResult`是一个关键的API,用于从一个活动(Activity)启动另一个活动,并期望在新活动执行完毕后返回结果。这个方法使得不同活动间的交互变得可能,尤其在需要用户进行一些...

    startActivityForResult使用方式

    在Android应用开发中,`startActivityForResult()`是一个关键的方法,用于在不同的Activity之间进行数据交互。这个方法允许一个Activity启动另一个Activity,并等待返回的结果。在本篇中,我们将深入探讨`...

    直接调用系统摄像头的一个拍照demo

    这个"直接调用系统摄像头的一个拍照demo"提供了一个自定义拍照界面的实例,它可以帮助开发者了解如何在自己的应用程序中实现这一功能。下面我们将详细讲解相关的知识点。 首先,我们要知道在Android中,调用系统...

    android调用拍照存储demo

    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } ``` `createImageFile()`方法是创建照片文件的,通常在应用的私有目录下,如sdcard/Android/data/com.example.app/files/。别忘了在...

    Android答题系统源码,答题demo,做题,2个demo

    当用户选择答案并提交后,应用会通过startActivityForResult()启动一个新的Activity来展示结果或下一个问题。 2. **数据存储**: 答题数据通常存储在SQLite数据库中,每个问题对应一条记录,包括题目、正确答案和...

    一款安卓识别二维码的DEMO例子

    这通常会调用ZXing的IntentIntegrator类,通过startActivityForResult()方法启动扫描。 5. **处理扫描结果**:当扫描完成,ZXing会回调onActivityResult()方法,开发者需要在这个方法中解析返回的数据,展示扫描...

    实现android手机蓝牙连接demo

    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } ``` 当需要搜索附近的蓝牙设备时,可以调用`startDiscovery()`方法: ```java adapter.startDiscovery(); ``` 同时,为了监听蓝牙设备发现的结果...

    Android选择照片或拍照后裁剪图片Demo

    这个"Android选择照片或拍照后裁剪图片Demo"就是一个很好的实例,它展示了如何实现这样的功能。这个Demo包含了工具类以及用于显示圆形头像的组件,使得用户体验更加美观和专业。 首先,我们要理解Android中的图片...

    Android图片选择、文件选择的Demo

    本Demo "Android图片选择、文件选择的Demo" 提供了一个基础的实现,供开发者学习和参考。下面我们将深入探讨这些知识点。 首先,**图片选择** 在Android中通常涉及到访问设备的图库。Android提供了`Intent.ACTION_...

    Android拍照、相册选取、截图综合Demo

    本示例"Android拍照、相册选取、截图综合Demo"旨在提供一个全面的解决方案,帮助开发者处理这些功能,并解决由Bitmap对象可能导致的内存溢出问题。以下是关于这个Demo的详细知识点: 1. **相机拍照**: - Android...

    安卓拍照视频上传demo

    通常会创建一个`ACTION_IMAGE_CAPTURE`的`Intent`,然后通过`startActivityForResult()`启动相机应用。拍摄完成后,系统会返回捕获的图片的URI,开发者可以进一步处理这个URI,例如裁剪图片或直接上传。 2. **...

    CameraDemo191202.zip

    2. **启动系统相机**:可以通过Intent来启动系统相机,使用`Intent.ACTION_IMAGE_CAPTURE`并调用`startActivityForResult()`方法,以便在用户拍摄照片后能接收结果。 3. **处理拍照结果**:在`onActivityResult()`...

    Android图片裁剪demo

    本示例“Android图片裁剪demo”专注于提供一个实现方形和非方形裁剪功能的解决方案。下面我们将深入探讨这个话题。 首先,Android中的图片裁剪通常涉及到两个关键组件:`Intent`和`Bitmap`。`Intent`用于启动系统...

    Android笔记之 图片自由裁剪 DEMO

    本篇将详细探讨如何实现“Android笔记之图片自由裁剪DEMO”,并结合提供的`ImageCutDemo`来深入理解相关知识点。 1. **Intent选择图片** Android系统提供了Intent机制,用于启动系统服务或与其他应用程序进行交互...

    Activity堆栈管理demo

    在"Activity堆栈管理demo"的源码分析中,开发者可能会详细讲解如何利用Android的IntentFlags和startActivityForResult()方法来控制Activity的启动模式和堆栈行为。此外,还可能介绍如何创建自定义的工具类,以便更...

    Android拍照Demo

    Android拍照Demo,主要代码:imageUri = Uri.fromFile(outputImage); Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); ...

    用户头像设置demo

    - Android:创建一个拍照意图,设置ACTION为`MediaStore.ACTION_IMAGE_CAPTURE`,然后startActivityForResult启动相机应用。用户拍摄后,系统会返回一个包含拍摄图片的URI。 2. **从相册选择功能**: - iOS:同样...

    Android支付宝支付Demo源码

    这通常通过`startActivityForResult()`来实现,以便于后续接收支付结果。 4. **处理支付回调**: - 当用户完成支付后,支付宝会回调到我们指定的`Activity`,这里通常是实现了`OnActivityResult()`的Activity。在...

    weibo.sdk.android.demo.zip

    2. 启动授权页面:通过`startActivityForResult()`启动授权页面,监听授权结果。 3. 处理授权结果:在`onActivityResult()`方法中,根据返回的ResultCode判断授权是否成功,然后可以通过`OAuth2AccessToken`对象获取...

Global site tag (gtag.js) - Google Analytics