当前位置:   article > 正文

Intent显式实现一个界面切换到另一个界面(MainActivity中有个button1)跳转到(SecondActivity对应的button2)_编程实现一个app,使该app中有两个页面:(1)使用显式intent从主页面跳转到二级页面;

编程实现一个app,使该app中有两个页面:(1)使用显式intent从主页面跳转到二级页面;

先看看效果:点击button1   

跳转视图

将创建好的项目中的

MainActivity类中写上:
  1. package com.example.reactest;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.Toast;
  8. public class MainActivity extends AppCompatActivity {
  9. // 向下兼容的Activity 其中AppCompatActivity是Activity的子类 Activity是Android系统提供的一个活动基类
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. Button button_Panel = (Button)findViewById(R.id.buttonPanel);
  15. /*
  16. * 右键com.example.reactest 然后New 选择Activity 再选Gallery
  17. * 选择Empty Activity 输入 second_Activity 勾选 Generate layout File 再输入:second_layout 不要勾选 Launcher Activity 即可.
  18. * 勾选和不勾选 Generate layout File 的区别: 编写出来的程序放置的位置不一样,一个是以“project folder”为根目录,另外一个是创建一个完全独立的文件夹。
  19. * 说明一: Launcher 是系统启动后第一个启动的程序,是其他应用程序的入口,也是我们的手机程序的桌面程序。
  20. *
  21. * 说明二: 每次创建一个活动(Activity)都会在AndroidManifest.xml中注册一个活动.
  22. * 打开AndroidManifest.xml可以看到里边有这句话: <activity android:name=".SecondActivity"></activity>
  23. * 由于SecondActivity不是主活动,所以不用配置<intent-filter>
  24. * 课前知识补充: Intent负责各个组件之间交互,指明当前组件想要执行的动作,可以在不同组件之间传递数据
  25. * Intent:有显式和隐式两种 Intent有多个构造函数重载
  26. * 知识巩固:同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。
  27. *
  28. * 构造函数一: Intent(Context packageContext,Class<?>cls); 参数一[Context要求提供一个启动活动的上下文] 第二个参数[Class指定想要启动的目标活动]
  29. * 启动活动: startActivity() 传入写好的Intent内容即可
  30. * */
  31. button_Panel.setOnClickListener(new View.OnClickListener() {
  32. @Override
  33. public void onClick(View v) {
  34. /*
  35. * 传入MainActivity.this作为上下文,SecondActivity.class作为目标活动
  36. * 我们的意图此刻非常明显了,就是通过MainActivity活动的基础上打开:SecondActivity活动
  37. * 然后通过startActivity();执行intent
  38. * 因为这个意图非常明显,所以我们称为:显式Intent
  39. * */
  40. Intent intent = new Intent(MainActivity.this,SecondActivity.class);
  41. startActivity(intent);
  42. }
  43. });
  44. }
  45. }

第一个界面为:activity_main.xml 

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8. <!-- 只要创建任何资源都会在R文件中生成一个资源id
  9. 在引用布局的时候会调用R.layout.(Activity)可以得到XXXX.xml布局中的id,然后将这个值传到setContentVies()方法即可-->
  10. <!-- wrap_content 当前宽度只要刚好包含里边的内容就行-->
  11. <!-- match_parent 当前元素和父元素一样宽 相配,相称 -->
  12. <Button
  13. android:id="@+id/buttonPanel"
  14. android:layout_width="match_parent"
  15. android:layout_height="wrap_content"
  16. android:text="1"
  17. tools:ignore="MissingConstraints" />
  18. <!-- 通过button触发Toast 通过onCreate方法中添加代码-->
  19. </androidx.constraintlayout.widget.ConstraintLayout>

第二个活动:secondActivity  创建之后什么都不用理会。

  1. package com.example.reactest;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. public class SecondActivity extends AppCompatActivity {
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.second_layout);
  12. }
  13. }

给第二个活动视图添加一个button就行了,为了区分main视图,我将第二个视图加上了   内容:第二个视图    .

second_layout.xml 代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:orientation="vertical"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent">
  7. <!--添加一个button orientation 方向 vertical垂直的 -->
  8. <Button
  9. android:id="@+id/buttonPanel_2"
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. android:text="第二个视图"
  13. tools:ignore="MissingConstraints" />
  14. </androidx.constraintlayout.widget.ConstraintLayout>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/242535
推荐阅读
相关标签
  

闽ICP备14008679号