android开发之activity的跳转

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>
第1个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">
    <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个xml

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视图资源
    }
}
第1个java类
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);
    }
}
第2个java类

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个java类,添加实现代码

上述遗漏的:

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));
            }
        });
    }
}

猜你喜欢

转载自www.cnblogs.com/PrideAssassin/p/11497712.html