实现如图案例

第一个界面:(传值给第二个界面)

第二个界面:(接收来自第一个界面的值,并传回一个值给第一个界面)
第一个界面(接收到来自第二个界面的值)

第一个界面的布局如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="8dp"    tools:context=".OneToTwoActivity">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="提交给第二个界面的值"/>        <EditText            android:id="@+id/ed_1_2"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"/>    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="来自第二个界面的值:"/>        <TextView            android:id="@+id/tv_2_1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"/>    </LinearLayout>    <Button        android:id="@+id/btn_submit"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="提交"/></LinearLayout>

第二个界面的布局如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:padding="8dp"    tools:context=".TwoToOneActivity">        <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="来自第一个界面的值:" />        <TextView            android:id="@+id/tv_1_2"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="提交给第一个界面的值" />        <EditText            android:id="@+id/ed_2_1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1" />    </LinearLayout>        <Button        android:id="@+id/btn_back"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="返回" /></LinearLayout>

在第一个Activity的按钮的点击事件中设置如下代码,其主要作用是实现跳转并传值给第二个Activity:

btn_submit.setOnClickListener(new View.OnClickListener() {                 @Override            public void onClick(View v) {                     intent = new Intent(this,TwoActivity.class);//从输入框中拿到的值String data1=ed_1_2.getText()+"";intent.putExtra("data1",data1);//第二个参数是请求码,请求码只需要是int类型的就可以startActivityForResult(intent,100);            }        });

除此之外,为了能接收到第二个Activity传回来的值,在第一个Activity中还必须重写onActivityResult()方法,代码如下:

//接收第二个页面返回的结果并显示    @Override    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent intent) {             super.onActivityResult(requestCode, resultCode, intent);        //1.判断请求码和结果码,请求码和结果码必须与我们定义的一致        if (requestCode == 100 && resultCode == 200) {                 //拿第二个界面传回的值            String data2 = intent.getStringExtra("data2");            //赋值            tv_2_1.setText(data2);        }    }

在第二个Activity里,先拿到Intent并给TextView赋值

Intent intent=getIntent();tv_1_2.setText(intent.getStringExtra("data1"));

最后只需在按钮的点击事件中传值跳转即可

        btn_back.setOnClickListener(new View.OnClickListener() {                 @Override            public void onClick(View v) {                     String data2=ed_2_1.getText()+"";                intent.putExtra("data2",data2);                setResult(200,intent);                //结束当前页面回到上一界面                finish();            }        });

更多相关文章

  1. Android之——激活应用程序的详情界面
  2. Android四大布局及属性
  3. Android多分辨率适配巧妙方法
  4. Android学习之界面篇(五)animateLayoutChanges
  5. Android周学习Step By Step(3)--应用工程文件组成
  6. android实现仿QQ登陆界面的多账号保存
  7. Android(安卓)轻松实现仿QQ消息下拉刷新
  8. Android仿IOS上拉下拉弹性效果的实例代码
  9. android Gallery的学习心得

随机推荐

  1. jquery.countdown 倒计时插件的学习
  2. jQuery ajax问题 - 无法让我的函数工作
  3. JQuery 表单验证按钮提交之前变色
  4. 如何退色改变背景图像
  5. 怎么让CSS动画走的慢一点啊。
  6. jQuery: 刨根问底 attr and prop两个函数
  7. jQuery轻量级圆形进度指示器插件
  8. 与symfony一起使用ajax时出现500内部服务
  9. jquery解析php通过ajax传过来的json二维
  10. java前端实时绘制不连续时间点多系列折线