1.必须有两个视图才能实现跳转(废话),
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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=".MainActivity" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="这是第一个xml视图" android:textSize="30dp" android:gravity="center" android:layout_marginTop="30dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/bt1" android:text="点击我"/> </LinearLayout>
<?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"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="这是第2个xml视图" android:textSize="30dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="点击我" android:textSize="30dp" android:gravity="center" android:id="@+id/bt2"/> </LinearLayout>
2.两个界面对应有2个java类(废话)
package com.pride.test;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity{
@Override //直接重写父类的onCreate方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//加载对应的.xml视图资源
}
}
package com.pride.test; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class activity_main2 extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); } }
3.在第1个类里面继续添加代码实现跳转.
package com.pride.test; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity{ @Override //直接重写父类的onCreate方法 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//加载对应的.xml视图资源 Button bt1 =(Button)findViewById(R.id.bt1);//获取按钮对象 bt1.setOnClickListener(new View.OnClickListener() { @Override //监听按钮,点击事件 public void onClick(View view) { Intent intent=new Intent(); //获取Intent对象 //参数1设置要上下文指针,参数2要跳转的类(类会加载对应视图), intent.setClass(MainActivity.this,activity_main2.class); startActivity(intent);//启动intent } }); } }
上述遗漏的:
1.多个activity必须在androidManifest.xml清单文件中声明,不然会报错.
2.第2个视图文件布局好像有点问题添加这个android:orientation="vertical">(线性布局子组件排列方式)-------测试而已无关紧要直接忽略吧.
3.额 .....那个跳转实现的逻辑可以简写的,startActivity(new Intent(MainActivity.this,Main2Activity.class));
还是把第2个页面跳转到第1个界面的代码的补上吧,直接简写算了:
package com.pride.test; import android.content.Intent; import android.os.Bundle; import android.view.View; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class activity_main2 extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); findViewById(R.id.bt2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(activity_main2.this,MainActivity.class)); } }); } }