通过Intent启动Activity、获取Activity返回值
来源:互联网 发布:英国皇家芭蕾舞团 知乎 编辑:程序博客网 时间:2024/06/06 02:33
父Activity:MainActivity.java
package com.example.test61;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity { Button button,button2; TextView textView; private final int SUBACTIVITY1 = 1 , SUBACTIVITY2 = 2; //requestCode请求码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.btn); button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Intent intent = new Intent(MainActivity.this, NewActivity.class);//startActivity(intent);startActivityForResult(intent, SUBACTIVITY1); //启动子Activity}}); button2 = (Button)findViewById(R.id.btn2); button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));//startActivity(intent);startActivityForResult(intent, SUBACTIVITY2); }}); } //重载方法,接受返回值@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {case SUBACTIVITY1: if(resultCode==Activity.RESULT_OK){ Uri uriData = data.getData(); textView = (TextView)findViewById(R.id.tv); textView.setText(uriData.toString());}else if(requestCode==Activity.RESULT_CANCELED){}break;case SUBACTIVITY2:if(resultCode==Activity.RESULT_OK){Uri uriData = data.getData();}break;default:break;}} }
xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动Activity" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动Activity2" /></LinearLayout>
子Activity:NewActivity.java
package com.example.test61;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class NewActivity extends Activity {EditText dEditText;Button button1,button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new); dEditText = (EditText)findViewById(R.id.edit); button1 = (Button)findViewById(R.id.btn1); button2 = (Button)findViewById(R.id.btn2); button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) { Uri data = Uri.parse("tel:15082387826"); Intent intent = new Intent(null,data); intent.putExtra("address", "JD Street"); //添加额外的值 setResult(RESULT_OK,intent); //返回子Activity的值 finish();}}); button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {setResult(RESULT_CANCELED,null);finish();}}); }}xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="接受" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="撤销" /> </LinearLayout>另外一个子Activity类似,这里不再累赘。
点击启动Activity:
点击接受:
这里接受到返回值并输入
阅读全文
0 0
- 通过Intent启动Activity、获取Activity返回值
- Android - 通过Intent启动Activity
- Android: 通过 intent 启动 Activity
- 通过显式Intent启动另一个Activity
- 通过Intent启动其他APP的Activity
- Activity设置singleTask无法通过Intent获取值的问题
- Activity设置singleTask无法通过Intent获取值的问题
- 获取Activity返回值
- Activity获取返回值
- 利用intent返回activity
- Android6.0 AMS启动Activity(六) AMS与PKMS关系(通过Intent获取ActivityInfo)
- Android6.0 AMS启动Activity(六) AMS与PKMS关系(通过Intent获取ActivityInfo)
- Fragment通过OnActivityResult获取Activity返回数据
- 使用Intent启动Activity
- 利用Intent启动Activity
- 使用Intent启动Activity
- 使用Intent启动Activity
- Intent 启动 Activity
- JAVASCRIPT第一天学习
- bzoj2083 [POI2004]PRZ 状压DP
- ASP.NET MVC中的Area区域简介
- 二叉树顺序结构
- Android 蓝牙开发(一)蓝牙通信
- 通过Intent启动Activity、获取Activity返回值
- Git入门学习记录
- unity ios打包提示Apple Mach-O Linker (Id) Errors
- JavaScript学习第一天
- spring整合RMI实现Java远程方法调用
- 数据库测试
- 【洛谷 1218】[USACO1.5]特殊的质数肋骨 Superprime Rib
- 数据结构 冒泡排序
- 什么是内存泄漏?野指针?悬挂指针?空指针异常?