Activity 活动 一个界面 一个窗口 * 作用 :给用户展示,交互 * 简单使用:1、创建一个Activity * 2、创建一个layout * 3、注册到Mainfirst.xml * 4、启动Activity * starActivity() * Intent 意向,想干什么。Intent其实各个组件交互的桥梁,从哪里来,到哪里去。带什么数据。 * 5、销毁 * 点击设备上的返回键,默认会销毁当前的Activity * finish() * 6、传输数据 * 上---->下 * intent.putExtra(key,值) * 如果传递自定义对象,我们需要实现Serlaizable接口 * intent.putExtras(Bundle) * 下--->上 * 1、启动下一级页面的时候,startActivitForResult * 2、下一级页面setResult(RESULT_OK,intent); * 3、上级页面来接收返回的数据 onActivityResult
备注:main中的xml数据未改变
从上到下传输数据:
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">
<LinearLayout
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="30sp"/>
<EditText
android:id="@+id/nameEdt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button
android:id="@+id/backBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回"
/>
</LinearLayout>
java代码:
public class User implements Serializable {
private String username;
private int age;
public User(String username, int age) {
this.username = username;
this.age = age;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class MainActivity extends Activity {
private static final int REQUEST_UPDATE_NAME=1;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.startTV);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
start1();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQUEST_UPDATE_NAME){
if(resultCode==RESULT_OK){
String name=data.getStringExtra("name");
textView.setText(name);
}else if(resultCo