startActivityForResult的使用和用法
startActivityForResult的使用和用法
startActivityForResult 和 onActivityResult在activity间传递数据 AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".KakuLogerActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> <activity android:name=".LaunchActivity"
android:label="@string/app_name2" >
</activity>
</application> 主Activity:
public class KakuLogerActivity extends Activity { TextView phoneNumber;
EditText iNameField;
int REQUEST_CODE = 0; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); Button launchBtn = (Button)findViewById(R.id.btnLaunchActivity);
iNameField = (EditText)findViewById(R.id.inamefield);
phoneNumber = (TextView)findViewById(R.id.phone_number); launchBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent newIntent = new Intent(KakuLogerActivity.this, LaunchActivity.class);
// 传递参数
newIntent.putExtra("name", iNameField.getText().toString());
// 开始一个新的 Activity等候返回结果
startActivityForResult(newIntent, REQUEST_CODE);
Log.i("clicked", "open the LaunchActivity page!!!!");
}
});
} @Override
// 当结果返回后判断并执行操作
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Bundle extras = intent.getExtras();
if (extras != null) {
phoneNumber.setText("Phone #: "
+ extras.getString("phonenumber"));
}
}
}
}
}
LaunchActivity:
public class LaunchActivity extends Activity { EditText phoneNumber; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.layout2);
Button btn = (Button)findViewById(R.id.btnRtrnActivity);
TextView oNameField = (TextView)findViewById(R.id.oNameMessege);
phoneNumber = (EditText)findViewById(R.id.iTelephoneField);
Log.i("launchActivity", "opened the LaunchActivity page!!!!");
// 取得前一个画面的传入值
Bundle extras = getIntent().getExtras();
oNameField.setText("Hello " + extras.getString("name")); btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// 设置返回数据
Bundle bundle = new Bundle();
bundle.putString("phonenumber", phoneNumber.getText().toString());
Intent intent = new Intent();
intent.putExtras(bundle);
// 返回intent
setResult(RESULT_OK, intent);
finish();
}
});
}
}
startActivityForResult的使用和用法的更多相关文章
- 收藏的技术文章链接(ubuntu,python,android等)
我的收藏 他山之石,可以攻玉 转载请注明出处:https://ahangchen.gitbooks.io/windy-afternoon/content/ 开发过程中收藏在Chrome书签栏里的技术文 ...
- 第一行Kotlin系列(三)Intent 向上一页返回数据onActivityResult的使用
1.MainActivity.kt跳转处理 声明全局的按钮对象 private lateinit var button8: Button 实例化按钮对象 button8 = findViewById( ...
- android: startActivityForResult用法详解
一.如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode ...
- startActivityForResult用法详解
一.如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode ...
- android startActivityForResult的用法
有时候我们需要把A activity提交数据给B activity处理,然后把结果返回给A 这种方式在很多种情况需要用到,比如我应用的程序需要有拍照上传的功能. 一种解决方案是 我的应用程序 〉调 ...
- 安卓startActivityForResult用法
startActivityForResult的作用就是它可以回传数据,假如我们有两个页面A和B,点击A页面的一个按钮,进入下一个页面B,进入页面B后,进行设置操作,并在finish()或者back后, ...
- startActivityForResult的用法,以及intent传递图片
开启startActivityForResult. Intent intent = new Intent(); intent.setClass(MainActivity.this, MipcaActi ...
- startActivityForResult( )用法
一.与startActivity( )的不同之处 1, startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( ). 2, start ...
- startActivityForResult()的用法(超好用啊)
最近做的一个小东西遇到这样的情况,我从一个页面MainActivity修改一些内容,需要跳转到一个新的EditActivity去做修改操作,修改完成后就回到之前的MainActivity,因为信息被修 ...
随机推荐
- mysql deadlock found when trying to get lock 问题排查
mysql deadlock found when trying to get lock 问题排查 1 获 取锁等待情况 可以通过检查 table_locks_waited和table_locks_i ...
- Libnids(Library Network Intrusion Detection System) .
Libnids(Library Network Intrusion Detection System)是一个网络入侵检测开发的专业编程接口.它实现了基于网络的入侵检测系统的基本框架,并提供了一些基本的 ...
- 八一八cvs vss svn和git比较
特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交都是原子的 Mercurial: 是的 Subversion ...
- IDEA初使用:解决搜狗输入法不跟随BUG
IDEA初使用:解决搜狗输入法不跟随BUG https://blog.csdn.net/qq_27905183/article/details/79119237 嗯,学习了: 然而,效果不明显:
- Modbus常用功能码协议详解
Modbus常用功能码协议详解 01H-读线圈状态 1)描述:读从机线圈寄存器,位操作,可读单个或者多个: 2)发送指令: 假设从机地址位0x01,寄存器开始地址0x0023,寄存器结束抵制0x003 ...
- 理解linux sed命令
理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前 ...
- 如何让windows更高效?
首先解释一下个标题: "让windows更高效,既指让windows更友好更优化,也指可以让使用windows来工作或学习的人更高效的工作学习." 解释下本文的动机: 指导我自己或 ...
- 【转】ionic2 返回按钮
首先可以在 app.module.ts 文件中配置. @NgModule 中的 imports 属性的 IonicModule.forRoot 第二个参数,如下: IonicModule.forRoo ...
- git设置默认编辑为vim
f you want to set the editor only for Git, do either (you don’t need both): Set core.editor in your ...
- 微软BI 之SSAS 系列 - 关于父子维度的设计
除了之前的几篇文章中出现的时间维度,雪花型维度的设计之外还有一种比较特殊的维度 - 父子维度.父子维度特殊就特殊在它包含了一种基于递归关系(Recursive Relationship)的引用结构, ...