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);    }}
布局文件的代码就不放了。

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

更多相关文章

  1. Android(安卓)studio 快捷键汇总
  2. 算法移植优化(一)android 学习笔记
  3. 联系人结构
  4. 使用ProGuard遇到“conversion to Dalvik format failed with er
  5. Could not get BatchedBridge, make sure your bundle is packag
  6. Android实现应用开机自启动
  7. Android(安卓)开发ListView适配器优化
  8. android XML文件解析之 SAX解析方法
  9. 下载最新Android代码的方法

随机推荐

  1. Django博客开发实战:开篇 | Django学习小
  2. 容器计算资源管理&网络QoS的实现---Opens
  3. PHP获取访问URL指定参数值
  4. 【Vue框架学习】Vue常用指令、事件修饰符
  5. 怎么找回误删除的文件?
  6. Samba安装与配置
  7. prometheus图形界面的基本监控配置
  8. 2020年Service Mesh:三大发展方向
  9. K8S中文社区
  10. 数据可视化 - 近现代数据可视化发展历程