Android studio:隐式Intent的使用方法

Intent 隐式的使用方法

我平常都是使用Intent来转跳Android的界面,之前我平常使用的样子是这样的:

在这里插入图片描述

startActivity(new Intent(*****.this,*****.class));

平常是不是都是这么书写的,今天我学到了一种隐式Intent的书写方式,下面就来分享一下。

首先我们要新建一个activity ,Java文件和xml文件。建立的方式就不说了。我们要来到AndroidMainfest文件中来,找到那个新建activity的标签下加这么几个参数:
		    <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>//指明它的行为方式是一个activity
                <action android:name="com.example.lreanintent.intent.action.myaty"/>//这个就是建立一个action转跳的代号的正规起名方式,当然可以随便起名字了!
            </intent-filter>
然后我们再回到起始的activity控制文件给布置文件中的按钮写一个点击事件
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    startActivity(new Intent("com.example.lreanintent.intent.action.myaty"));

            }
        });
这样就可以使用隐式Intent了,是不是看不出来了。
还有一种方式也是一种很简单的方式进行隐式Intent的,就是把那串字符串在第二activity的控制文件中保存下来,保存成public字符串。
public static final String ACTION = "com.example.lreanintent.intent.action.myaty";
然后再从第一个activity的控制文件中调用它
bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(myaty.ACTION));
            }
        });
很完美
下面是完整代码

第一个activity的控制文件
package com.example.lreanintent;

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 {
    private Button bt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt = findViewById(R.id.bt);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(myaty.ACTION));
            }
        });
    }
}

要转跳的activity控制文件代码
package com.example.lreanintent;

import android.app.Activity;
import android.os.Bundle;

import androidx.annotation.Nullable;

public class myaty extends Activity {

    public static final String ACTION = "com.example.lreanintent.intent.action.myaty";
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act_myaty);
    }
}

布局文件的代码就不放了。

在这里插入图片描述

通过一步一步的学习,我正在慢慢的进步,希望我能学到更多的东西。

原创文章 9 获赞 8 访问量 663

猜你喜欢

转载自blog.csdn.net/qq_43625843/article/details/104705432