自学安卓复习基础_之七(关于页面B给页面A返回值)
2015-09-19 10:37
281 查看
这个场景应用的地方还是挺多的,比如说拨打电话,需要把电话薄的电话号码返回给拨号页面,好了废话不多说啦,直接写代码啦。
模拟场景(点击联系人,返回电话号码)
页面A:main.xml
活动A的代码
页面B:result.xml,很简单就是一个id为tv的TextView控件在里面,就不复制代码啦,关键是活动B的代码
活动B:这边进行点击textView返回值给页面A
好啦,到此结束啦。
模拟场景(点击联系人,返回电话号码)
页面A:main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btn_Name2" /> </LinearLayout>
活动A的代码
public class A extends Activity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { B.invoke(A.this); } }); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //判断返回的requestcode(是不是1) switch (requestCode) { case 1: //判断页面B中的resultcode是否对应 if (resultCode==RESULT_OK) { btn.setText(data.getStringExtra("value")); } break; default: break; } } }
页面B:result.xml,很简单就是一个id为tv的TextView控件在里面,就不复制代码啦,关键是活动B的代码
活动B:这边进行点击textView返回值给页面A
public class B extends Activity { private TextView tv; public static void invoke(Activity ac,String data){ Intent i=new Intent(ac, B.class); i.putExtra("name", data); ac.startActivityForResult(i, 1);; } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.result); tv=(TextView) findViewById(R.id.tv); tv.setText("hello"); tv.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i=new Intent(); i.putExtra("value", tv.getText()); //这边返回的resultCode为RESULT_OK,页面A会进行判断 setResult(RESULT_OK, i); //切记一定要关闭当前Activity,因为我一直忘记写这个代码,会看不见效果的 finish(); } }); } }
好啦,到此结束啦。
相关文章推荐
- WORD编辑
- 我有一个梦想
- 不错的博文地址
- MyEclipse中SVN的常见的使用方法
- java的Arrays类的应用
- 【MDCC技术大咖秀】Android内存优化之OOM
- Java知识整理(二十四)之jQuery
- linux系统挂载ntfs磁盘
- 计算机组成
- POJ - 1787 Charlie's Change(完全背包和路径纪录)
- C++面试之GetMemory问题
- (转徐明吉)C#生成随机数
- Java基础知识强化29:String类之String类构造方法
- BestCoder Round #55 ($)
- JSP中文乱码处理
- 【poj3070】矩阵乘法求斐波那契数列
- Java知识整理(二十三)之json
- android message
- WPF--打开文件
- urllib2 - The Missing Manual HOWTO Fetch Internet Resources with Python