Android(安卓)studio:隐式Intent的使用方法
16lz
2021-01-24
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); }}
布局文件的代码就不放了。
通过一步一步的学习,我正在慢慢的进步,希望我能学到更多的东西。
更多相关文章
- Android(安卓)studio 快捷键汇总
- 算法移植优化(一)android 学习笔记
- 联系人结构
- 使用ProGuard遇到“conversion to Dalvik format failed with er
- Could not get BatchedBridge, make sure your bundle is packag
- Android实现应用开机自启动
- Android(安卓)开发ListView适配器优化
- android XML文件解析之 SAX解析方法
- 下载最新Android代码的方法