工具:Android Studio
目录
问题①
新建activity: NormalActivity.java
创建Button: startNormalActivity
setOnClicklistener
MainActivity中点击button点击启动NormalActivity
代码
Mainactivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startNormalActivity=findViewById(R.id.sna);
// Mylistener listener = new Mylistener();
listener lst = new listener();
startNormalActivity.setOnClickListener(lst);
Log.d("TAG", "OnCreate()");
}
@Override
protected void onStart() {
super.onStart();
Log.d("TAG", "OnStart()");
}
@Override
protected void onResume() {
super.onResume();
Log.d("TAG", "OnResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.d("TAG", "OnPaused()");
}
@Override
protected void onStop() {
super.onStop();
Log.d("TAG", "OnStop()");
}
class listener implements View
.OnClickListener {
@Override
public void onClick(View view) {
if (view.getId() == R.id.bt1)
Toast.makeText(MainActivity.this, "peace and love", Toast.LENGTH_SHORT).show();
else if (view.getId() == R.id.sna) {
//显式跳转
Intent it = new Intent(MainActivity.this, NormalActivity.class);
startActivity(it);
}
}
}
Normal_activity.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Normal Activity"
/>
运行结果
启动NormalActivity
从NormalActivity返回
问题②
新建activity: DialogActivity.java
创建Button : startDialogActivity
setOnClicklistener
androidmanifest.xml中设置actvity的主题为dialog
MainActivity中点击button点击启动DialogActivity
代码
Mainactivity.java
public class MainActivity extends AppCompatActivity {
public static final String TAG="MainActivity";
public MainActivity.listener listener;
Button b1, b2, b3, b4, b5, b7,startNormalActivity,startDialogActivity;
TextView tv;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startDialogActivity=findViewById(R.id.sda);
// Mylistener listener = new Mylistener();
listener lst = new listener();
startDialogActivity.setOnClickListener(lst);
Log.d("TAG", "OnCreate()");
}
@Override
protected void onStart() {
super.onStart();
Log.d("TAG", "OnStart()");
}
@Override
protected void onResume() {
super.onResume();
Log.d("TAG", "OnResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.d("TAG", "OnPaused()");
}
class listener implements View
.OnClickListener {
@Override
public void onClick(View view) {
if (view.getId() == R.id.bt1)
Toast.makeText(MainActivity.this, "peace and love", Toast.LENGTH_SHORT).show();
else if (view.getId() == R.id.sda) {
//显式跳转
Intent it = new Intent(MainActivity.this, DialogActivity.class);
startActivity(it);
}
}
}
activity_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".DialogActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dialog Activity"
android:textSize="30dp"
tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>
AndroidManifest.xml
<activity
android:name=".DialogActivity"
android:theme="@style/Theme.AppCompat.Dialog"
/>
运行结果
总结
Activity生命周期的回调函数
创建→运行 onCreate()-->onStart-->onResume();
运行→停止 onPause()--->onStop();
停止→运行 onRestart()-->onStart()--->onResume();
运行→暂停 onPause();
暂停→运行 onResume();
停止→销毁 onDestory();