您的位置:首页 > 移动开发 > Android开发

Android两个android两个activity之间相互传递数据

2016-11-21 10:33 645 查看
这个案例是书上的习题,我发生来了一点改变而已

xml:

这是第一个xml,很简单的两个tv和ed加一个btn

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="sorgs.com.datepass.MainActivity">

<LinearLayout
android:id="@+id/regisrt_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="22dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:paddingRight="5dp"
android:text="用户名:"/>

<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入您的姓名"
android:textSize="14dp"/>
</LinearLayout>

<LinearLayout
android:id="@+id/regisrt_userage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regisrt_username"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:paddingRight="5dp"
android:text="用户名:"/>

<EditText
android:id="@+id/et_age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入您的年龄"
android:textSize="14dp"/>
</LinearLayout>

<Button
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/regisrt_userage"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="发送"/>
</RelativeLayout>


再来看看第二个,就显示第一个页面传过来的数据
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="恭喜您,"
android:textSize="20dp"/>

<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="来到这个世界:"
android:textSize="20dp"/>

<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
</LinearLayout>

<Button
android:id="@+id/btn_return"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="返回"/>

</RelativeLayout>

接下来就是java的代码
package sorgs.com.datepass;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

private Button btn1;
private EditText etname;
private EditText etage;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn1 = (Button) findViewById(R.id.btn_send);
etage = (EditText) findViewById(R.id.et_age);
etname = (EditText) findViewById(R.id.et_name);

btn1.setOnClickListener(new View.OnClickListener() { //用户点击按钮提交数据
@Override
public void onClick(View view) {
pssDate();
}
});

}

public void pssDate(){
Intent intent = new Intent(this,MainActivity2.class);//创建Intent对象,启动MainActivity2

intent.putExtra("name",etname.getText().toString().trim()); //将数据存入Intent对象
intent.putExtra("age",etage.getText().toString().trim());
startActivity(intent);
finish();
}
}

然后就是第二个页面的java了

package sorgs.com.datepass;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

/**
* Created by Administrator on 2016/11/20.
*/

public class MainActivity2 extends Activity {
private TextView tv1;
private TextView tv2;
private Button btn2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_date);

tv1 = (TextView) findViewById(R.id.tv_1);
tv2 = (TextView) findViewById(R.id.tv_2);
btn2 = (Button) findViewById(R.id.btn_return);

Intent intent1 = getIntent();//获取Intent对象

//取出对key中的值
String name = intent1.getStringExtra("name");
String age = intent1.getStringExtra("age");
//设置到对的控件中
tv1.setText(name + "!");
tv2.setText(age + "年。");

btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updata();
}
});
}

private void updata() {
Intent intent2 = new Intent(this,MainActivity.class);
startActivity(intent2);
finish();
}
}


第二个页面做了一个跳转回第一个页面的处理

最后一定记得在配置里面配置一下



来看看效果



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: