,,Android基础之startActivityForResult()的用法详解

,,Android基础之startActivityForResult()的用法详解

这篇文章主要给大家介绍了机器人中startActivityForResult()的用法,文中给出了详细的介绍与示例代码,相信对大家的理解和学习具有一定参考借鉴价值,有需要的朋友们下面来一起看看吧。

前言

安卓开发中一个很基础的操作就是打开一个活动,另一个很必要的操作就是,打开一个活动,在打开的活动中操作之后并获得返回结果。

两个 Activity

为了演示这个操作,我们需要两个活动:主要活动和其他活动,在主要活动中通过目的启动其他活动,并获得其他活动结束后返回的结果,例子仅作演示,为了方便,我直接在Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)文件中定义了控件,就不写布局文件了。

MainActivity.java

包网。conw。意图测试;

导入安卓。app。活动;

导入安卓。内容。意图;

导入安卓。OS。捆绑;

导入安卓。查看。查看;

导入安卓。小部件。按钮;

导入安卓。小部件。编辑文本;

导入安卓。小部件。线性布局;

公共类主要活动扩展活动实现视图OnClickListener {

私有编辑文本编辑文本

私人按钮按钮;

public static int REQUEST _ CODE=1;

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

线性布局layout=新建线性布局(this);

editText=new editText(this);

按钮=新按钮(这个);

按钮。settext(' Main ');

按钮。setonclicklistener(this);

布局。添加视图(editText);

layout.addView(按钮);

设置内容视图(布局);

}

@覆盖

公共void onClick(视图五){

意图意图=新的意图(这个,其他活动。类);

intent.putExtra('text ',editText.getText().toString());

startActivityForResult(intent,REQUEST _ CODE);

}

@覆盖

受保护的活动结果无效(int请求代码、int结果代码、意向数据){

超级棒。关于活动结果(请求代码、结果代码、数据);

if(请求代码==请求代码结果代码==其他活动.结果代码){

编辑文本。settext(数据。getstring extra(' text ');

}

}

}

OtherActivity.java

包网。conw。意图测试;

导入安卓。app。活动;

导入安卓。内容。意图;

导入安卓。OS。捆绑;

导入安卓。查看。查看;

导入安卓。小部件。按钮;

导入安卓。小部件。编辑文本;

导入安卓。小部件。线性布局;

公共类其他活动扩展活动工具视图OnClickListener {

私有编辑文本编辑文本

私人按钮按钮;

public static int RESULT _ CODE=1;

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

线性布局layout=新建线性布局(this);

editText=new editText(this);

按钮=新按钮(这个);

button.setText('其他');

按钮。setonclicklistener(this);

布局。添加视图(editText);

layout.addView(按钮);

设置内容视图(布局);

editText.setText(getIntent().getstring extra(' text ');

}

@覆盖

公共void onClick(视图五){

Intent Intent=new Intent();

intent.putExtra('text ',editText.getText().toString());

setResult(RESULT_CODE,intent);

finish();

}

}

整个代码的执行逻辑如下:

1、两个活动的代码就是这样的,当主要活动中的纽扣被触发onClick()事件后,把主要活动中的编辑文本的内容发给了其他活动。

2、其他活动打开并初始化好控件后,把编辑文本的内容设置为主要活动发过来的内容。

3、当其他活动中的纽扣被触发onClick()事件后,把其他活动中的编辑文本的内容返回给主要活动。

4、当返回到主要活动时,会执行ononActivityResult()方法的内容,判断如果请求代码和结果代码无误后,把主要活动中的编辑文本的内容改为其他活动返回的结果。(这里判断了请求代码和结果代码,所以其他活动通过背部键返回时,主要活动的内容不会改变)

所以结果就是,当这两个活动以这种方式打开时,其中的EditText的内容是同步的,当一个活动发生变化时,另一个活动中也会发生变化。

总结

好了,这就是Android中的startActivityForResult()的全部内容。希望本文的内容能给Android开发者带来一些帮助。有问题可以留言交流。谢谢你的支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: