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();
}
});
}
}

最新文章

  1. 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】
  2. .NET ORM 的 “SOD蜜”--零基础入门篇
  3. JavaScript-indexOf函数
  4. A Popup Progress Window
  5. 【BZOJ】【1027】【JSOI2007】合金
  6. JVM剖析
  7. LeetCode Binary Tree Level Order Traversal II (二叉树颠倒层序)
  8. Android横竖屏切换处理
  9. validationEngine[转]
  10. 36th成都区域赛网络赛 hdoj4039 The Social Network(建图+字符串处理)
  11. hibernate4 spring3.2 事务不提交分析
  12. 一键部署ETCD集群脚本
  13. Java 第一次作业
  14. DataPipeline创始人&amp;CEO 陈诚:沃森与AI
  15. Java:将Excel数据导入到数据库(一眼就看会)
  16. 首席数据官(CDO)的崛起
  17. 02Linux环境配置
  18. 【AtCoder】AGC029(A-E)
  19. jquery方法.serializeArray()获取name和value并转为json数组
  20. PPAS的MTK tool 工具使用说明

热门文章

  1. Python调用C/C++程序
  2. andengine的convertLocalCoordinatesToSceneCoordinates方法
  3. winrar5.50去广告教程(仅供学习使用)
  4. 个基于TensorFlow的简单故事生成案例:带你了解LSTM
  5. Spring(十二):IOC容器中Bean的生命周期方法
  6. GIT 使用cherry-pick 重演其他分支的提交
  7. 编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息
  8. Python 各种测试框架简介(三):nose
  9. Java 面向切面编程(Aspect Oriented Programming,AOP)
  10. C# .Net计算函数执行的时间