一、Activity生命周期
Activity的生命周期主要有:onCreate、onStart、onResume、onPause、onStop、onDestroy
public class Main1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main1);
Log.d("Activity的生命周期","Activity is onCreate……");
}
@Override
protected void onStart() {
super.onStart();
Log.d("Activity的生命周期","Activity is onStart……");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Activity的生命周期","Activity is onResume……");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Activity的生命周期","Activity is onPause……");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Activity的生命周期","Activity is onStop……");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Activity的生命周期","Activity is onDestroy……");
}
@Override
public void finishAffinity() {
super.finishAffinity();
}
}
二、页面跳转和传值
页面跳转和传值主要用到:onCreate、Intent、putExtra、startActivityForResult、getStringExtra(传字符串就用这个,其他类型根据传递的类型而定)
主要代码:
传递的(这里是
Main1.java
)
//传值
Intent intent1 = new Intent(Main1.this, Main2.class);
intent1.putExtra("dataName","这个是第一个页面传递的数据");
//添加按键跳转到第二个页面Main2.java
button1=findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent2 = new Intent(Main1.this,Main2.class); //页面跳转
startActivity(intent1); //激活传值
startActivity(intent2); //激活跳转
startActivityForResult(intent1,1); //获取重第二个页面Main2.java传回来的参数,1是返回的代码
finish(); //结束当前Activity
}
});
接收的(这里是
Main2.java
)
// 获取到意图对象
Intent intent1=getIntent();
// 获取到传递过来的数据
String str = intent1.getStringExtra("dataName");
//将获取的数据显示在TextView上
TextView dataTextView = (TextView) findViewById(R.id.textView2);
dataTextView.setText(str);
button2=findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent2 = new Intent(Main2.this,Main1.class); //返回(跳转)到Main1.java
startActivity(intent1); //激活接收传值
startActivity(intent2); //激活返回
finish(); //结束当前Activity
}
});
运行效果
Main1.java完整代码
package com.pkg.myadapter;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class Main1 extends AppCompatActivity {
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main1);
Log.d("Activity的生命周期","Activity is onCreate……");
//传值
Intent intent1 = new Intent(Main1.this, Main2.class);
intent1.putExtra("dataName","这个是第一个页面传递的数据");
//添加按键跳转到第二个页面Main2.java
button1=findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent2 = new Intent(Main1.this,Main2.class); //页面跳转
startActivity(intent1);
startActivity(intent2);
startActivityForResult(intent1,1); //获取重第二个页面Main2.java传回来的参数
finish(); //结束当前Activity
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onStart() {
super.onStart();
Log.d("Activity的生命周期","Activity is onStart……");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Activity的生命周期","Activity is onResume……");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Activity的生命周期","Activity is onPause……");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Activity的生命周期","Activity is onStop……");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Activity的生命周期","Activity is onDestroy……");
}
@Override
public void finishAffinity() {
super.finishAffinity();
}
}
Main2.java完整代码
package com.pkg.myadapter;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Main2 extends AppCompatActivity {
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
// 获取到意图对象
Intent intent1=getIntent();
// 获取到传递过来的数据
String str = intent1.getStringExtra("dataName");
//将获取的数据显示在TextView上
TextView dataTextView = (TextView) findViewById(R.id.textView2);
dataTextView.setText(str);
button2=findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent2 = new Intent(Main2.this,Main1.class);
startActivity(intent1);
startActivity(intent2);
finish(); //结束当前Activity
}
});
}
}
还有TextView和Button的XML文件就简单配置一下即可。
版权声明:本文为m0_47114547原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。